You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by gi...@apache.org on 2025/05/12 22:56:18 UTC
(airflow-site) branch staging-publish updated: Docs updated via refs/heads/staging:fa9368d78f066c15c5fc1fb6bbcea1b450379bfe
This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a commit to branch staging-publish
in repository https://gitbox.apache.org/repos/asf/airflow-site.git
The following commit(s) were added to refs/heads/staging-publish by this push:
new 019b93090b Docs updated via refs/heads/staging:fa9368d78f066c15c5fc1fb6bbcea1b450379bfe
019b93090b is described below
commit 019b93090b533db5bf1529f1544d49c635201f7b
Author: GitHub Actions <ac...@users.noreply.github.com>
AuthorDate: Mon May 12 22:56:10 2025 +0000
Docs updated via refs/heads/staging:fa9368d78f066c15c5fc1fb6bbcea1b450379bfe
---
.asf.yaml | 6 +-
landing-pages/site/static/.htaccess => .htaccess | 2 +-
landing-pages/site/static/.keep => .keep | 0
.../static/.well-known => .well-known}/atproto-did | 0
.../site/assets/icons/airflow-logo.svg => 404.html | 540 +-
CONTRIBUTE.md | 651 --
Dockerfile | 68 -
README.md | 69 -
.../site/static/_gen => _gen}/indexes/.keep | 0
_gen/indexes/en/blog-index.json | 1 +
_gen/indexes/en/blog-posts.json | 1 +
_gen/packages-metadata.json | 3487 ++++++++
announcements/index.html | 1587 ++++
announcements/index.xml | 18 +
.../artifacthub-repo.yml => artifacthub-repo.yml | 0
.../icons/airflow-logo.svg => blocktype/index.html | 536 +-
blocktype/index.xml | 17 +
.../testimonial/index.html | 536 +-
blocktype/testimonial/index.xml | 268 +
.../use-case/index.html | 536 +-
blocktype/use-case/index.xml | 170 +
blog/airflow-1.10.10/index.html | 887 +++
.../airflow-1.10.10/rbac-ui-timezone.gif | Bin
.../airflow-1.10.10/trigger-dag-conf.png | Bin
blog/airflow-1.10.12/index.html | 865 ++
.../airflow-1.10.8-1.10.9/airflow-dag-tags.png | Bin
blog/airflow-1.10.8-1.10.9/index.html | 799 ++
.../airflow-2.10.0/DAG_reparse_button_detail.png | Bin
.../airflow-2.10.0/DAG_reparsing_button_list.png | Bin
.../airflow-2.10.0/airflow_dark_mode.png | Bin
.../airflow-2.10.0/airflow_light_mode.png | Bin
.../airflow-2.10.0/dag_dependencies_legend.png | Bin
.../airflow-2.10.0/dataset_details.png | Bin
.../blog => blog}/airflow-2.10.0/dataset_info.png | Bin
.../blog => blog}/airflow-2.10.0/dataset_list.png | Bin
.../airflow-2.10.0/dataset_toggle_off.png | Bin
.../airflow-2.10.0/dataset_toggle_on.png | Bin
.../airflow-2.10.0/dependency_graph.png | Bin
blog/airflow-2.10.0/index.html | 881 +++
.../airflow-2.10.0/render_dataset_conditions.png | Bin
.../airflow-2.10.0/task_instance_history.png | Bin
.../airflow-2.10.0/task_instance_history_log.png | Bin
blog/airflow-2.2.0/index.html | 800 ++
.../en/blog => blog}/airflow-2.3.0/grid-view.png | Bin
blog/airflow-2.3.0/index.html | 859 ++
blog/airflow-2.4.0/index.html | 849 ++
blog/airflow-2.5.0/index.html | 780 ++
.../airflow-2.6.0/filter_downstream.png | Bin
.../en/blog => blog}/airflow-2.6.0/graph.png | Bin
blog/airflow-2.6.0/index.html | 804 ++
.../airflow-2.6.0/trigger_dag_form.png | Bin
.../airflow-2.6.0/trigger_logging.png | Bin
.../airflow-2.7.0/cluster_activity.png | Bin
.../blog => blog}/airflow-2.7.0/graph_in_grid.png | Bin
blog/airflow-2.7.0/index.html | 807 ++
blog/airflow-2.8.0/index.html | 838 ++
.../airflow-2.8.0/multiselect-states.png | Bin
.../airflow-2.8.0/task_status_visibility.png | Bin
.../airflow-2.9.0/create-manual-dataset-event.png | Bin
.../airflow-2.9.0/custom-log-grouping-expanded.png | Bin
.../airflow-2.9.0/custom-log-grouping.png | Bin
.../airflow-2.9.0/dataset-view-filtering.png | Bin
.../airflow-2.9.0/datasets-in-graph.png | Bin
.../blog => blog}/airflow-2.9.0/display-names.png | Bin
.../dynamic-task-mapping-custom-names.png | Bin
blog/airflow-2.9.0/index.html | 867 ++
.../airflow-2.9.0/pre-post-logs-grouped.png | Bin
.../blog => blog}/airflow-2.9.0/run-duration.png | Bin
.../blog => blog}/airflow-2.9.0/task-duration.png | Bin
...What_best_describes_your_current_occupation.png | Bin
.../What_executor_type_do_you_use.png | Bin
...al_services_do_you_use_in_your_Airflow_DAGs.png | Bin
.../airflow-survey-2020/Where_are_you_based.png | Bin
blog/airflow-survey-2020/index.html | 2093 +++++
.../airflow-survey-2022/images/image1.png | Bin
.../airflow-survey-2022/images/image10.png | Bin
.../airflow-survey-2022/images/image11.png | Bin
.../airflow-survey-2022/images/image12.png | Bin
.../airflow-survey-2022/images/image13.png | Bin
.../airflow-survey-2022/images/image14.png | Bin
.../airflow-survey-2022/images/image15.png | Bin
.../airflow-survey-2022/images/image16.png | Bin
.../airflow-survey-2022/images/image17.png | Bin
.../airflow-survey-2022/images/image18.png | Bin
.../airflow-survey-2022/images/image2.png | Bin
.../airflow-survey-2022/images/image3.png | Bin
.../airflow-survey-2022/images/image4.png | Bin
.../airflow-survey-2022/images/image5.png | Bin
.../airflow-survey-2022/images/image6.png | Bin
.../airflow-survey-2022/images/image7.png | Bin
.../airflow-survey-2022/images/image8.png | Bin
.../airflow-survey-2022/images/image9.png | Bin
blog/airflow-survey-2022/index.html | 2459 ++++++
...-2023-Results--Airflow-Usage-Page-1-Revised.png | Bin
...s-Airflow-Usage-Page-3-Revised-Landscape@2x.png | Bin
...2023-Results-Airflow-Usage-Page-2-Landscape.png | Bin
...low-Survey-2023-Results-Future-Landscape@2x.png | Bin
.../Astronomer_Community_and_Contribution.png | Bin
.../images/Astronomer_Demographics.png | Bin
blog/airflow-survey-2023/index.html | 774 ++
.../images/Airflow-Survey-2024-Results-v2.png | Bin
blog/airflow-survey-2024/index.html | 782 ++
blog/airflow-survey/index.html | 1571 ++++
.../en/blog => blog}/airflow-survey/plot1.png | Bin
.../en/blog => blog}/airflow-survey/plot2.png | Bin
.../en/blog => blog}/airflow-survey/plot3.png | Bin
.../airflow-3.0-ui.gif | Bin
.../airflow-three-point-oh-is-here/backfill.png | Bin
blog/airflow-three-point-oh-is-here/index.html | 1178 +++
.../versioning_ui.gif | Bin
.../airflow-2.0-ui.gif | Bin
blog/airflow-two-point-oh-is-here/index.html | 838 ++
blog/airflow_summit_2021/index.html | 750 ++
blog/airflow_summit_2022/index.html | 753 ++
blog/announcing-new-website/index.html | 760 ++
.../apache-airflow-for-newcomers/Simple_dag.png | Bin
.../apache-airflow-for-newcomers/airflow-ui.png | Bin
blog/apache-airflow-for-newcomers/index.html | 850 ++
.../apache-airflow-for-newcomers/semicomplex.png | Bin
.../index.html | 743 ++
.../index.html | 746 ++
.../index.html | 761 ++
.../index.html | 811 ++
blog/fab-oid-vulnerability/index.html | 833 ++
.../index.html | 815 ++
blog/index.html | 1823 +++++
blog/index.xml | 6112 ++++++++++++++
blog/introducing_setup_teardown/index.html | 706 ++
.../introducing_setup_teardown/simple.png | Bin
.../task-group-arrow.png | Bin
.../index.html | 760 ++
blog/tags/airflow-summit/index.html | 713 ++
blog/tags/airflow-summit/index.xml | 67 +
blog/tags/community/index.html | 1086 +++
blog/tags/community/index.xml | 4149 ++++++++++
blog/tags/development/index.html | 709 ++
blog/tags/development/index.xml | 75 +
blog/tags/documentation/index.html | 672 ++
blog/tags/documentation/index.xml | 117 +
blog/tags/release/index.html | 1166 +++
blog/tags/release/index.xml | 1601 ++++
blog/tags/rest-api/index.html | 670 ++
blog/tags/rest-api/index.xml | 105 +
blog/tags/survey/index.html | 860 ++
blog/tags/survey/index.xml | 3875 +++++++++
blog/tags/users/index.html | 860 ++
blog/tags/users/index.xml | 3875 +++++++++
blog/tags/vulnerabilities/index.html | 672 ++
blog/tags/vulnerabilities/index.xml | 106 +
.../static/browserconfig.xml => browserconfig.xml | 0
.../airflow-logo.svg => categories/index.html | 536 +-
categories/index.xml | 17 +
chunk-1.60e9d.js | 1 +
chunk-3.60e9d.js | 1 +
chunk-4.60e9d.js | 19 +
chunk-5.60e9d.js | 51 +
code-of-conduct/index.html | 746 ++
code-of-conduct/index.xml | 17 +
community/index.html | 5708 ++++++++++++++
community/index.xml | 17 +
.../en/community => community}/resources.html | 0
css/swagger-ui.css | 4 +
.../airflow-user-survey-responses-2020.csv.zip | Bin
.../airflow-user-survey-responses-2022.csv.zip | Bin
docs.60e9d.js | 1 +
docs/index.html | 823 ++
docs/index.xml | 17 +
ecosystem/index.html | 677 ++
ecosystem/index.xml | 17 +
.../static/external => external}/css/OpenSans.css | 0
.../static/external => external}/css/Roboto.css | 0
.../external => external}/css/RobotoMono.css | 0
.../static/external => external}/css/Rubik.css | 0
.../fonts/OpenSans-italic.woff2 | Bin
.../fonts/OpenSans-normal.woff2 | Bin
.../fonts/Roboto-italic.woff2 | Bin
.../fonts/Roboto-normal.woff2 | Bin
.../fonts/RobotoMono-normal.woff2 | Bin
.../external => external}/fonts/Rubik-normal.woff2 | Bin
.../js/cdnjs.cloudflare.com-1.14.3-popper.min.js | 0
.../external => external}/js/jquery-3.3.1.min.js | 0
.../js/jquery-3.3.1.slim.min.js | 0
.../external => external}/js/jquery-3.4.1.min.js | 0
...ackpath.bootstrapcdn.com-4.1.3-bootstrap.min.js | 0
.../external => external}/profiles/BasPH.png | Bin
.../external => external}/profiles/KevinYang21.png | Bin
.../external => external}/profiles/Lee-W.png | Bin
.../external => external}/profiles/XD-DENG.png | Bin
.../external => external}/profiles/aijamalnk.png | Bin
.../profiles/alexvanboxel.png | Bin
.../external => external}/profiles/amoghrajesh.png | Bin
.../profiles/aneesh-joseph.png | Bin
.../static/external => external}/profiles/aoen.png | Bin
.../external => external}/profiles/artwr.png | Bin
.../static/external => external}/profiles/ashb.png | Bin
.../external => external}/profiles/bbovenzi.png | Bin
.../profiles/bolkedebruin.png | Bin
.../external => external}/profiles/bugraoz93.png | Bin
.../external => external}/profiles/criccomini.png | Bin
.../external => external}/profiles/dimberman.png | Bin
.../external => external}/profiles/dirrao.png | Bin
.../external => external}/profiles/dstandish.png | Bin
.../external => external}/profiles/eladkal.png | Bin
.../profiles/ephraimbuddy.png | Bin
.../external => external}/profiles/feluelle.png | Bin
.../external => external}/profiles/feng-tao.png | Bin
.../external => external}/profiles/ferruzzi.png | Bin
.../external => external}/profiles/fokko.png | Bin
.../profiles/gopidesupavan.png | Bin
.../external => external}/profiles/hiteshs.png | Bin
.../external => external}/profiles/houqp.png | Bin
.../profiles/hussein-awala.png | Bin
.../external => external}/profiles/jason810496.png | Bin
.../profiles/jedcunningham.png | Bin
.../external => external}/profiles/jgao54.png | Bin
.../external => external}/profiles/jghoman.png | Bin
.../external => external}/profiles/jhtimmins.png | Bin
.../external => external}/profiles/jmcarp.png | Bin
.../external => external}/profiles/josh-fell.png | Bin
.../external => external}/profiles/jscheffl.png | Bin
.../external => external}/profiles/kaxil.png | Bin
.../external => external}/profiles/leahecole.png | Bin
.../external => external}/profiles/malthe.png | Bin
.../external => external}/profiles/mik-laj.png | Bin
.../external => external}/profiles/milton0825.png | Bin
.../profiles/mistercrunch.png | Bin
.../external => external}/profiles/mobuchowski.png | Bin
.../external => external}/profiles/msumit.png | Bin
.../external => external}/profiles/o-nikolas.png | Bin
.../external => external}/profiles/pankajastro.png | Bin
.../external => external}/profiles/pankajkoti.png | Bin
.../profiles/patrickleotardif.png | Bin
.../external => external}/profiles/phanikumv.png | Bin
.../profiles/pierrejeambrun.png | Bin
.../external => external}/profiles/pingzh.png | Bin
.../external => external}/profiles/potiuk.png | Bin
.../external => external}/profiles/r39132.png | Bin
.../external => external}/profiles/rawwar.png | Bin
.../external => external}/profiles/rnhttr.png | Bin
.../external => external}/profiles/romsharon98.png | Bin
.../profiles/ryanahamilton.png | Bin
.../static/external => external}/profiles/ryw.png | Bin
.../external => external}/profiles/saguziel.png | Bin
.../external => external}/profiles/sekikn.png | Bin
.../external => external}/profiles/shahar1.png | Bin
.../profiles/shubhamraj-git.png | Bin
.../external => external}/profiles/taragolis.png | Bin
.../external => external}/profiles/tirkarthi.png | Bin
.../external => external}/profiles/turbaszek.png | Bin
.../external => external}/profiles/uranusjr.png | Bin
.../profiles/utkarsharma2.png | Bin
.../profiles/vatsrahul1001.png | Bin
.../external => external}/profiles/vikramkoka.png | Bin
.../external => external}/profiles/vincbeck.png | Bin
.../external => external}/profiles/xinbinhuang.png | Bin
.../external => external}/profiles/yuqian90.png | Bin
.../external => external}/profiles/zhongjiajie.png | Bin
.../site/static/favicon.ico => favicon.ico | Bin
favicons/android-144x144.png | Bin 0 -> 4299 bytes
favicons/android-192x192.png | Bin 0 -> 5264 bytes
favicons/android-36x36.png | Bin 0 -> 980 bytes
favicons/android-48x48.png | Bin 0 -> 1071 bytes
favicons/android-72x72.png | Bin 0 -> 1926 bytes
favicons/android-96x196.png | Bin 0 -> 2309 bytes
.../favicons => favicons}/android-icon-144x144.png | Bin
.../favicons => favicons}/android-icon-192x192.png | Bin
.../favicons => favicons}/android-icon-36x36.png | Bin
.../favicons => favicons}/android-icon-48x48.png | Bin
.../favicons => favicons}/android-icon-72x72.png | Bin
.../favicons => favicons}/android-icon-96x96.png | Bin
.../favicons => favicons}/apple-icon-114x114.png | Bin
.../favicons => favicons}/apple-icon-120x120.png | Bin
.../favicons => favicons}/apple-icon-144x144.png | Bin
.../favicons => favicons}/apple-icon-152x152.png | Bin
.../favicons => favicons}/apple-icon-180x180.png | Bin
.../favicons => favicons}/apple-icon-57x57.png | Bin
.../favicons => favicons}/apple-icon-60x60.png | Bin
.../favicons => favicons}/apple-icon-72x72.png | Bin
.../favicons => favicons}/apple-icon-76x76.png | Bin
.../apple-icon-precomposed.png | Bin
.../static/favicons => favicons}/apple-icon.png | Bin
favicons/apple-touch-icon-180x180.png | Bin 0 -> 4748 bytes
favicons/favicon-1024.png | Bin 0 -> 27759 bytes
.../static/favicons => favicons}/favicon-16x16.png | Bin
favicons/favicon-256.png | Bin 0 -> 8037 bytes
.../static/favicons => favicons}/favicon-32x32.png | Bin
.../static/favicons => favicons}/favicon-96x96.png | Bin
favicons/favicon.ico | Bin 0 -> 1150 bytes
.../favicons => favicons}/ms-icon-144x144.png | Bin
.../favicons => favicons}/ms-icon-150x150.png | Bin
.../favicons => favicons}/ms-icon-310x310.png | Bin
.../static/favicons => favicons}/ms-icon-70x70.png | Bin
favicons/pwa-192x192.png | Bin 0 -> 5264 bytes
favicons/pwa-512x512.png | Bin 0 -> 20743 bytes
favicons/tile150x150.png | Bin 0 -> 8985 bytes
favicons/tile310x150.png | Bin 0 -> 11661 bytes
favicons/tile310x310.png | Bin 0 -> 23621 bytes
favicons/tile70x70.png | Bin 0 -> 3592 bytes
.../static/images => images}/airflow_dark_bg.png | Bin
.../site/static/images => images}/anchor.svg | 0
.../images => images}/commiter-placeholder.svg | 0
.../static/images => images}/feature-image.png | Bin
.../site/static/images => images}/tick.svg | 0
index.html | 1806 +++++
index.xml | 6111 ++++++++++++++
landing-pages/site/static/index.yaml => index.yaml | 0
.../airbyte/Airbyte.png | Bin
.../alibaba/cloud/alibabacloud-oss.png | Bin
.../apache/Livy.png | Bin
.../apache/cassandra-3.png | Bin
.../apache/drill.png | Bin
.../apache/druid-1.png | Bin
.../apache/hadoop.png | Bin
.../apache/hive.png | Bin
.../apache/kylin.png | Bin
.../apache/pig.png | Bin
.../apache/pinot.png | Bin
.../apache/spark.png | Bin
.../apache/sqoop.png | Bin
.../aws/AWS-Batch_light-bg@4x.png | Bin
.../aws/AWS-Cloud-alt_light-bg@4x.png | Bin
.../aws/AWS-CloudFormation_light-bg@4x.png | Bin
.../aws/AWS-DataSync_light-bg@4x.png | Bin
.../aws/AWS-Database-Migration-Service_64@5x.png | Bin
.../aws/AWS-Glue_light-bg@4x.png | Bin
.../aws/AWS-Lambda_light-bg@4x.png | Bin
.../aws/AWS-STS_light-bg@4x.png | Bin
.../aws/AWS-Secrets-Manager_light-bg@4x.png | Bin
.../aws/AWS-Step-Functions_light-bg@4x.png | Bin
.../aws/Amazon-Athena_light-bg@4x.png | Bin
.../aws/Amazon-CloudWatch_light-bg@4x.png | Bin
.../aws/Amazon-DynamoDB_light-bg@4x.png | Bin
.../aws/Amazon-EC2_light-bg@4x.png | Bin
.../aws/Amazon-EMR_light-bg@4x.png | Bin
.../aws/Amazon-ElastiCache_light-bg@4x.png | Bin
...mazon-Elastic-Container-Service_light-bg@4x.png | Bin
...azon-Elastic-Kubernetes-Service_light-bg@4x.png | Bin
.../Amazon-Kinesis-Data-Firehose_light-bg@4x.png | Bin
.../aws/Amazon-Quicksight_light-bg@4x.png | Bin
.../aws/Amazon-RDS_light-bg@4x.png | Bin
.../aws/Amazon-Redshift_light-bg@4x.png | Bin
.../aws/Amazon-S3-Glacier_light-bg@4x.png | Bin
.../aws/Amazon-SageMaker_light-bg@4x.png | Bin
...Amazon-Simple-Email-Service-SES_light-bg@4x.png | Bin
...Simple-Notification-Service-SNS_light-bg@4x.png | Bin
...Amazon-Simple-Queue-Service-SQS_light-bg@4x.png | Bin
...mazon-Simple-Storage-Service-S3_light-bg@4x.png | Bin
.../azure/Azure Cosmos DB.svg | 0
.../azure/Azure Data Factory.svg | 0
.../azure/Azure Files.svg | 0
.../azure/Blob Storage.svg | 0
.../azure/Container Instances.svg | 0
.../azure/Data Lake Storage.svg | 0
.../azure/Microsoft-Azure-Batch.png | Bin
.../azure/Microsoft-Azure-Data-Explorer.png | Bin
.../azure/Microsoft-Azure-Fileshare.png | Bin
.../azure/Microsoft-Azure.png | Bin
.../celery/Celery.png | Bin
.../cloudant/Cloudant.png | Bin
.../databricks/Databricks.png | Bin
.../datadog/datadog.png | Bin
.../dbt/dbt.png | Bin
.../dingding/Dingding.png | Bin
.../discord/Discord.png | Bin
.../docker/Docker-Swarm.png | Bin
.../docker/Docker.png | Bin
.../elasticsearch/Elasticsearch.png | Bin
.../exasol/Exasol.png | Bin
.../facebook/Facebook-Ads.png | Bin
.../ftp/FTP.png | Bin
.../gcp/AI-Platform.png | Bin
.../gcp/BigQuery.png | Bin
.../gcp/Cloud-AutoML.png | Bin
.../gcp/Cloud-Bigtable.png | Bin
.../gcp/Cloud-Build.png | Bin
.../gcp/Cloud-Dataflow.png | Bin
.../gcp/Cloud-Dataproc.png | Bin
.../gcp/Cloud-Datastore.png | Bin
.../gcp/Cloud-Functions.png | Bin
.../gcp/Cloud-Looker.png | Bin
.../gcp/Cloud-Memorystore.png | Bin
.../gcp/Cloud-NLP.png | Bin
.../gcp/Cloud-PubSub.png | Bin
.../gcp/Cloud-SQL.png | Bin
.../gcp/Cloud-Spanner.png | Bin
.../gcp/Cloud-Speech-to-Text.png | Bin
.../gcp/Cloud-Storage.png | Bin
.../gcp/Cloud-Tasks.png | Bin
.../gcp/Cloud-Text-to-Speech.png | Bin
.../gcp/Cloud-Translation-API.png | Bin
.../gcp/Cloud-Video-Intelligence-API.png | Bin
.../gcp/Cloud-Vision-API.png | Bin
.../gcp/Compute-Engine.png | Bin
.../gcp/Google-API-Python-Client.png | Bin
.../gcp/Google-Ads.png | Bin
.../gcp/Google-Analytics.png | Bin
.../gcp/Google-Calendar.png | Bin
.../gcp/Google-Campaign-Manager.png | Bin
.../gcp/Google-Cloud-Generic.png | Bin
.../gcp/Google-Cloud-Life-Sciences.png | Bin
.../gcp/Google-Cloud-Secret-Manager.png | Bin
.../gcp/Google-Cloud-Stackdriver.png | Bin
.../gcp/Google-Cloud.png | Bin
.../gcp/Google-Data-Catalog.png | Bin
.../gcp/Google-Data-Fusion.png | Bin
.../gcp/Google-Data-Proc.png | Bin
.../gcp/Google-Dataprep.png | Bin
.../gcp/Google-Deployment-Manager.png | Bin
.../gcp/Google-Display-And-Video-360.png | Bin
.../gcp/Google-Drive.png | Bin
.../gcp/Google-Firestore.png | Bin
.../gcp/Google-Search-Ads360.png | Bin
.../gcp/Google-Spreadsheet.png | Bin
.../gcp/Google.png | Bin
.../gcp/Key-Management-Service.png | Bin
.../gcp/Kubernetes-Engine.png | Bin
.../gcp/google-data-loss-prevention.png | Bin
.../hashicorp/Hashicorp-Vault.png | Bin
.../http/HTTP.png | Bin
.../imap/IMAP.png | Bin
.../jdbc/JDBC.png | Bin
.../jenkins/Jenkins.png | Bin
.../jira/Jira.png | Bin
.../kubernetes/Kubernetes.png | Bin
.../kubernetes/Spark-On-Kubernetes.png | Bin
.../mongo/MongoDB.png | Bin
.../mssql/Microsoft-SQL-Server.png | Bin
.../mysql/MySQL.png | Bin
.../odbc/ODBC.png | Bin
.../openfaas/OpenFaaS.png | Bin
.../opsgenie/Opsgenie.png | Bin
.../oracle/Oracle.png | Bin
.../pagerduty/PagerDuty.png | Bin
.../papermill/Papermill.png | Bin
.../plexus/Plexus.png | Bin
.../postgres/Postgres.png | Bin
.../presto/PrestoDB.png | Bin
.../qubole/Qubole.png | Bin
.../redis/Redis.png | Bin
.../salesforce/Salesforce.png | Bin
.../samba/Samba.png | Bin
.../segment/Segment.png | Bin
.../sftp/SFTP.png | Bin
.../singularity/Singularity.png | Bin
.../slack/Slack.png | Bin
.../snowflake/Snowflake.png | Bin
.../sqlite/SQLite.png | Bin
.../ssh/SSH.png | Bin
.../tableau/tableau.png | Bin
.../telegram/Telegram.png | Bin
.../trino/trino-og.png | Bin
.../vertica/Vertica.png | Bin
.../winrm/WinRM.png | Bin
.../yandex/Yandex-Cloud.png | Bin
.../zendesk/Zendesk.png | Bin
.../static/integrations.json => integrations.json | 0
...f390a49c7e4c0a842ec5c83b24354758dd674343ed0d.js | 1 +
js/swagger-ui-bundle.js | 93 +
js/swagger-ui-standalone-preset.js | 14 +
landing-pages/.babelrc | 9 -
landing-pages/.eslintignore | 19 -
landing-pages/.eslintrc.yml | 104 -
landing-pages/.gitignore | 5 -
landing-pages/.stylelintignore | 2 -
landing-pages/LICENSE | 39 -
landing-pages/check-links.sh | 93 -
landing-pages/create-index.js | 118 -
landing-pages/package.json | 90 -
landing-pages/postcss.config.js | 28 -
landing-pages/site/.hugo_build.lock | 0
landing-pages/site/archetypes/blog.md | 11 -
landing-pages/site/archetypes/testimonials.md | 19 -
.../site/assets/icons/accordion-arrow.svg | 4 -
.../site/assets/icons/ask-question-icon.svg | 16 -
landing-pages/site/assets/icons/bug-icon.svg | 31 -
landing-pages/site/assets/icons/close-icon.svg | 10 -
.../site/assets/icons/content-hamburger-icon.svg | 22 -
.../site/assets/icons/contribute-icon.svg | 24 -
landing-pages/site/assets/icons/date-icon.svg | 106 -
.../site/assets/icons/documentation-icon.svg | 10 -
landing-pages/site/assets/icons/dynamic-icon.svg | 163 -
landing-pages/site/assets/icons/easy-use-icon.svg | 54 -
landing-pages/site/assets/icons/elegant-icon.svg | 58 -
.../site/assets/icons/extensible-icon.svg | 132 -
landing-pages/site/assets/icons/facebook-small.svg | 10 -
landing-pages/site/assets/icons/fix-bug-icon.svg | 18 -
landing-pages/site/assets/icons/github-small.svg | 3 -
landing-pages/site/assets/icons/github-white.svg | 3 -
landing-pages/site/assets/icons/github.svg | 4 -
landing-pages/site/assets/icons/hamburger-icon.svg | 13 -
.../site/assets/icons/integrations-icon.svg | 47 -
landing-pages/site/assets/icons/intent-icon.svg | 7 -
landing-pages/site/assets/icons/jira.svg | 7 -
.../site/assets/icons/join-devlist-icon.svg | 16 -
landing-pages/site/assets/icons/linkedin-small.svg | 9 -
landing-pages/site/assets/icons/linkedin.svg | 14 -
landing-pages/site/assets/icons/meetup-icon.svg | 43 -
landing-pages/site/assets/icons/members-icon.svg | 10 -
.../site/assets/icons/new-feature-icon.svg | 18 -
.../site/assets/icons/open-source-icon.svg | 51 -
landing-pages/site/assets/icons/play-icon.svg | 5 -
landing-pages/site/assets/icons/project-icon.svg | 22 -
landing-pages/site/assets/icons/promote-icon.svg | 33 -
.../site/assets/icons/pure-python-icon.svg | 33 -
landing-pages/site/assets/icons/scalable-icon.svg | 55 -
landing-pages/site/assets/icons/search-icon.svg | 6 -
landing-pages/site/assets/icons/slack.svg | 20 -
landing-pages/site/assets/icons/stackoverflow.svg | 6 -
landing-pages/site/assets/icons/star-icon.svg | 5 -
landing-pages/site/assets/icons/twitter-small.svg | 11 -
landing-pages/site/assets/icons/twitter-white.svg | 5 -
landing-pages/site/assets/icons/twitter.svg | 1 -
landing-pages/site/assets/icons/useful-ui-icon.svg | 43 -
landing-pages/site/assets/icons/youtube.svg | 3 -
landing-pages/site/assets/scss/_accordion.scss | 121 -
landing-pages/site/assets/scss/_avatar.scss | 24 -
landing-pages/site/assets/scss/_base-layout.scss | 134 -
landing-pages/site/assets/scss/_blog-page.scss | 165 -
landing-pages/site/assets/scss/_buttons.scss | 106 -
landing-pages/site/assets/scss/_case-study.scss | 34 -
landing-pages/site/assets/scss/_colors.scss | 34 -
.../site/assets/scss/_community-page.scss | 237 -
.../site/assets/scss/_content-drawer.scss | 83 -
landing-pages/site/assets/scss/_docs.scss | 29 -
landing-pages/site/assets/scss/_dropdown.scss | 36 -
landing-pages/site/assets/scss/_feature.scss | 108 -
landing-pages/site/assets/scss/_fonts.scss | 22 -
landing-pages/site/assets/scss/_footer.scss | 158 -
landing-pages/site/assets/scss/_four-oh-four.scss | 31 -
landing-pages/site/assets/scss/_header.scss | 121 -
landing-pages/site/assets/scss/_highlights.scss | 96 -
landing-pages/site/assets/scss/_home-page.scss | 50 -
landing-pages/site/assets/scss/_install-page.scss | 122 -
landing-pages/site/assets/scss/_list-boxes.scss | 298 -
.../site/assets/scss/_markdown-content.scss | 66 -
landing-pages/site/assets/scss/_media.scss | 22 -
landing-pages/site/assets/scss/_meetups.scss | 57 -
landing-pages/site/assets/scss/_navbar.scss | 156 -
landing-pages/site/assets/scss/_ol-ul.scss | 80 -
landing-pages/site/assets/scss/_pager.scss | 25 -
landing-pages/site/assets/scss/_pygments.scss | 88 -
landing-pages/site/assets/scss/_quote.scss | 61 -
landing-pages/site/assets/scss/_rating.scss | 49 -
landing-pages/site/assets/scss/_roadmap.scss | 290 -
landing-pages/site/assets/scss/_rst-content.scss | 626 --
landing-pages/site/assets/scss/_search.scss | 57 -
.../site/assets/scss/_share-social-media.scss | 29 -
.../site/assets/scss/_suggest-change.scss | 32 -
landing-pages/site/assets/scss/_survey.scss | 36 -
landing-pages/site/assets/scss/_testimonial.scss | 34 -
.../site/assets/scss/_text-with-icon.scss | 91 -
landing-pages/site/assets/scss/_typography.scss | 109 -
.../site/assets/scss/_usecasedescription.scss | 53 -
landing-pages/site/assets/scss/_variables.scss | 144 -
landing-pages/site/assets/scss/_video.scss | 122 -
landing-pages/site/assets/scss/main-custom.scss | 59 -
landing-pages/site/config.toml | 181 -
landing-pages/site/content/en/_index.html | 5 -
.../site/content/en/announcements/_index.md | 1586 ----
.../blog/Its-a-breeze-to-develop-apache-airflow.md | 18 -
landing-pages/site/content/en/blog/_index.md | 7 -
.../site/content/en/blog/airflow-1.10.10/index.md | 190 -
.../site/content/en/blog/airflow-1.10.12/index.md | 162 -
.../content/en/blog/airflow-1.10.8-1.10.9/index.md | 76 -
.../site/content/en/blog/airflow-2.10.0/index.md | 197 -
.../site/content/en/blog/airflow-2.2.0/index.md | 81 -
.../site/content/en/blog/airflow-2.3.0/index.md | 145 -
.../site/content/en/blog/airflow-2.4.0/index.md | 157 -
.../site/content/en/blog/airflow-2.5.0/index.md | 55 -
.../site/content/en/blog/airflow-2.6.0/index.md | 94 -
.../site/content/en/blog/airflow-2.7.0/index.md | 88 -
.../site/content/en/blog/airflow-2.8.0/index.md | 116 -
.../site/content/en/blog/airflow-2.9.0/index.md | 202 -
.../content/en/blog/airflow-survey-2020/index.md | 437 -
.../content/en/blog/airflow-survey-2022/index.md | 564 --
.../content/en/blog/airflow-survey-2023/index.md | 17 -
.../content/en/blog/airflow-survey-2024/index.md | 17 -
.../site/content/en/blog/airflow-survey/index.md | 322 -
.../blog/airflow-three-point-oh-is-here/index.md | 444 --
.../en/blog/airflow-two-point-oh-is-here/index.md | 146 -
.../site/content/en/blog/airflow_summit_2021.md | 19 -
.../site/content/en/blog/airflow_summit_2022.md | 27 -
.../site/content/en/blog/announcing-new-website.md | 34 -
.../en/blog/apache-airflow-for-newcomers/index.md | 142 -
...-thoughts-and-insights-by-airflow-committers.md | 14 -
...menting-using-local-development-environments.md | 43 -
...ogle-season-of-docs-2019-with-apache-airflow.md | 126 -
...perience-with-airflow-as-an-outreachy-intern.md | 59 -
.../content/en/blog/fab-oid-vulnerability/index.md | 102 -
.../implementing-stable-API-for-Apache-Airflow.md | 92 -
.../en/blog/introducing_setup_teardown/index.md | 70 -
.../site/content/en/code-of-conduct/_index.html | 188 -
.../site/content/en/community/_index.html | 167 -
landing-pages/site/content/en/docs/_index.md | 287 -
landing-pages/site/content/en/ecosystem/_index.md | 238 -
landing-pages/site/content/en/meetups/_index.html | 7 -
.../site/content/en/privacy-notice/_index.md | 8 -
landing-pages/site/content/en/roadmap/_index.md | 87 -
landing-pages/site/content/en/search.md | 5 -
.../site/content/en/use-cases/_index.html | 7 -
landing-pages/site/content/en/use-cases/adjoe.md | 20 -
landing-pages/site/content/en/use-cases/adobe.md | 18 -
landing-pages/site/content/en/use-cases/adyen.md | 20 -
.../site/content/en/use-cases/big-fish-games.md | 18 -
.../content/en/use-cases/business_operations.md | 47 -
landing-pages/site/content/en/use-cases/dish.md | 18 -
.../site/content/en/use-cases/etl_analytics.md | 45 -
.../site/content/en/use-cases/experity.md | 18 -
.../en/use-cases/infrastructure-management.md | 41 -
landing-pages/site/content/en/use-cases/mlops.md | 42 -
.../site/content/en/use-cases/onefootball.md | 22 -
.../site/content/en/use-cases/plarium-krasnodar.md | 18 -
.../site/content/en/use-cases/seniorlink.md | 22 -
landing-pages/site/content/en/use-cases/sift.md | 33 -
landing-pages/site/content/en/use-cases/snapp.md | 30 -
landing-pages/site/content/en/use-cases/suse.md | 30 -
landing-pages/site/data/.keep | 0
landing-pages/site/data/case_studies.json | 47 -
landing-pages/site/data/committers.json | 230 -
landing-pages/site/data/integrations.json | 1 -
landing-pages/site/data/pmc.json | 212 -
landing-pages/site/data/videos.json | 32 -
landing-pages/site/layouts/404.html | 27 -
landing-pages/site/layouts/_default/baseof.html | 44 -
landing-pages/site/layouts/blog/baseof.html | 44 -
landing-pages/site/layouts/blog/content.html | 66 -
landing-pages/site/layouts/blog/list.html | 54 -
landing-pages/site/layouts/blog/single.html | 32 -
landing-pages/site/layouts/community/baseof.html | 44 -
landing-pages/site/layouts/community/list.html | 137 -
landing-pages/site/layouts/docs/baseof.html | 44 -
landing-pages/site/layouts/docs/list.html | 24 -
landing-pages/site/layouts/docs/single.html | 24 -
landing-pages/site/layouts/index.html | 94 -
landing-pages/site/layouts/install/baseof.html | 44 -
landing-pages/site/layouts/install/list.html | 36 -
landing-pages/site/layouts/meetups/baseof.html | 44 -
landing-pages/site/layouts/meetups/list.html | 75 -
.../site/layouts/partials/blog-pager.html | 34 -
.../site/layouts/partials/boxes/blogpost.html | 61 -
.../site/layouts/partials/boxes/committer.html | 45 -
.../site/layouts/partials/boxes/event.html | 35 -
.../site/layouts/partials/boxes/integration.html | 24 -
.../site/layouts/partials/boxes/testimonial.html | 32 -
.../site/layouts/partials/boxes/use-cases.html | 32 -
.../layouts/partials/buttons/button-filled.html | 20 -
.../layouts/partials/buttons/button-hollow.html | 20 -
.../layouts/partials/buttons/button-with-icon.html | 24 -
landing-pages/site/layouts/partials/favicons.html | 36 -
landing-pages/site/layouts/partials/feature.html | 30 -
landing-pages/site/layouts/partials/footer.html | 65 -
landing-pages/site/layouts/partials/head.html | 44 -
.../site/layouts/partials/hooks/head-end.html | 56 -
.../site/layouts/partials/lang-selector.html | 28 -
landing-pages/site/layouts/partials/navbar.html | 70 -
landing-pages/site/layouts/partials/pager.html | 27 -
landing-pages/site/layouts/partials/quote.html | 27 -
landing-pages/site/layouts/partials/rating.html | 27 -
landing-pages/site/layouts/partials/scripts.html | 14 -
.../site/layouts/partials/share-social-media.html | 32 -
.../site/layouts/partials/sidebar-tree.html | 69 -
.../site/layouts/partials/suggest-change.html | 25 -
.../site/layouts/partials/text-with-icon.html | 26 -
.../site/layouts/partials/usecasedescription.html | 27 -
.../site/layouts/partials/version-selector.html | 31 -
.../site/layouts/partials/video-section.html | 44 -
landing-pages/site/layouts/partials/youtube.html | 23 -
.../site/layouts/privacy-notice/baseof.html | 44 -
.../site/layouts/privacy-notice/list.html | 24 -
.../site/layouts/privacy-notice/single.html | 24 -
landing-pages/site/layouts/roadmap/baseof.html | 77 -
landing-pages/site/layouts/roadmap/list.html | 25 -
landing-pages/site/layouts/roadmap/single.html | 25 -
.../site/layouts/shortcodes/accordion.html | 39 -
landing-pages/site/layouts/shortcodes/rawhtml.html | 20 -
landing-pages/site/layouts/taxonomy/baseof.html | 44 -
landing-pages/site/layouts/taxonomy/tag.html | 56 -
landing-pages/site/layouts/use-cases/baseof.html | 44 -
landing-pages/site/layouts/use-cases/content.html | 31 -
landing-pages/site/layouts/use-cases/list.html | 62 -
landing-pages/site/layouts/use-cases/single.html | 25 -
landing-pages/site/themes/docsy | 1 -
landing-pages/src/docs-index.js | 27 -
landing-pages/src/index.js | 55 -
landing-pages/src/js/committersList.js | 34 -
landing-pages/src/js/contentDrawer.js | 38 -
landing-pages/src/js/drawer.js | 30 -
landing-pages/src/js/handleActiveVideo.js | 38 -
landing-pages/src/js/headerAnimation.js | 261 -
landing-pages/src/js/integrationList.js | 161 -
landing-pages/src/js/makeTableResponsive.js | 38 -
landing-pages/src/js/meetupsList.js | 120 -
landing-pages/src/js/navbarScroll.js | 24 -
landing-pages/src/js/progressTracking.js | 67 -
landing-pages/src/js/rating.js | 41 -
landing-pages/src/js/searchBlogPosts.js | 90 -
landing-pages/src/js/showMore.js | 51 -
landing-pages/src/js/sortVersions.js | 80 -
landing-pages/src/js/tocTree.js | 27 -
landing-pages/src/js/utils.js | 26 -
landing-pages/src/js/versionSelector.js | 72 -
landing-pages/webpack.common.js | 71 -
landing-pages/webpack.dev.js | 60 -
landing-pages/webpack.prod.js | 51 -
landing-pages/yarn.lock | 8310 --------------------
license-templates/LICENSE.rst | 16 -
license-templates/LICENSE.txt | 16 -
main.60e9d.js | 1 +
.../site/static/manifest.json => manifest.json | 0
.../site/static/meetups.json => meetups.json | 0
meetups/index.html | 990 +++
meetups/index.xml | 17 +
.../airflow-logo.svg => privacy-notice/index.html | 540 +-
privacy-notice/index.xml | 17 +
roadmap/index.html | 766 ++
roadmap/index.xml | 17 +
robots.txt | 1 +
...6e59eb0c9feffd1e8dbd96bb022465167b167b3a286.css | 1 +
...ab812b30fb885ece0ac9dedd4969f14edf568b76157.css | 7 +
.../icons/airflow-logo.svg => search/index.html | 546 +-
site.sh | 242 -
sitemap.xml | 223 +
sphinx_airflow_theme/README.md | 145 -
sphinx_airflow_theme/demo/awesome-cat.jpg | Bin 338218 -> 0 bytes
sphinx_airflow_theme/demo/conf.py | 78 -
sphinx_airflow_theme/demo/docs.sh | 91 -
sphinx_airflow_theme/demo/index.rst | 36 -
sphinx_airflow_theme/demo/playground.rst | 600 --
sphinx_airflow_theme/pyproject.toml | 79 -
.../sphinx_airflow_theme/__init__.py | 42 -
.../sphinx_airflow_theme/breadcrumbs.html | 41 -
.../sphinx_airflow_theme/footer.html | 152 -
.../sphinx_airflow_theme/globaltoc.html | 90 -
.../sphinx_airflow_theme/header.html | 135 -
.../sphinx_airflow_theme/layout.html | 385 -
.../sphinx_airflow_theme/searchbox.html | 47 -
.../sphinx_airflow_theme/searchresults.html | 58 -
.../sphinx_airflow_theme/static/js/globaltoc.js | 24 -
.../suggest_change_button.html | 74 -
.../sphinx_airflow_theme/theme.conf | 13 -
.../sphinx_airflow_theme/version-selector.html | 31 -
sphinx_airflow_theme/uv.lock | 522 --
.../site/static/stock-guy.jpg => stock-guy.jpg | Bin
.../site/content/en/survey => survey}/_index.html | 0
.../icons/airflow-logo.svg => tags/index.html | 536 +-
tags/index.xml | 18 +
use-cases/adjoe/index.html | 612 ++
use-cases/adobe/index.html | 609 ++
use-cases/adyen/index.html | 610 ++
use-cases/big-fish-games/index.html | 609 ++
use-cases/business_operations/index.html | 632 ++
use-cases/dish/index.html | 609 ++
use-cases/etl_analytics/index.html | 631 ++
use-cases/experity/index.html | 611 ++
use-cases/index.html | 946 +++
use-cases/index.xml | 421 +
use-cases/infrastructure-management/index.html | 628 ++
use-cases/mlops/index.html | 628 ++
use-cases/onefootball/index.html | 613 ++
use-cases/plarium-krasnodar/index.html | 609 ++
use-cases/seniorlink/index.html | 613 ++
use-cases/sift/index.html | 615 ++
use-cases/snapp/index.html | 615 ++
use-cases/suse/index.html | 616 ++
.../usecase-logos => usecase-logos}/adjoe-logo.svg | 0
.../usecase-logos => usecase-logos}/adobe-logo.svg | 0
.../usecase-logos => usecase-logos}/adyen-logo.svg | 0
.../big-fish-games-logo.svg | 0
.../business-ops.png | Bin
.../usecase-logos => usecase-logos}/dish-logo.svg | 0
.../docker-logo.png | Bin
.../static/usecase-logos => usecase-logos}/etl.png | Bin
.../experity-logo.jpg | Bin
.../infrastructure-management.png | Bin
.../usecase-logos => usecase-logos}/mlops.png | Bin
.../onefootball-logo.svg | 0
.../plarium-krasnodar-logo.svg | 0
.../rancher-suse.svg | 0
.../seniorlink-logo.svg | 0
.../usecase-logos => usecase-logos}/sift_logo.png | Bin
.../usecase-logos => usecase-logos}/snapp-logo.svg | 0
.../placeholder_business_ops_video.png | Bin
.../placeholder_etl_video.png | Bin
.../placeholder_infra_video.png | Bin
.../placeholder_mlops_video.png | Bin
webfonts/fa-brands-400.eot | Bin 0 -> 129734 bytes
webfonts/fa-brands-400.svg | 3451 ++++++++
webfonts/fa-brands-400.ttf | Bin 0 -> 129428 bytes
webfonts/fa-brands-400.woff | Bin 0 -> 87644 bytes
webfonts/fa-brands-400.woff2 | Bin 0 -> 74740 bytes
webfonts/fa-regular-400.eot | Bin 0 -> 34394 bytes
webfonts/fa-regular-400.svg | 803 ++
webfonts/fa-regular-400.ttf | Bin 0 -> 34096 bytes
webfonts/fa-regular-400.woff | Bin 0 -> 16804 bytes
webfonts/fa-regular-400.woff2 | Bin 0 -> 13656 bytes
webfonts/fa-solid-900.eot | Bin 0 -> 192122 bytes
webfonts/fa-solid-900.svg | 4649 +++++++++++
webfonts/fa-solid-900.ttf | Bin 0 -> 191836 bytes
webfonts/fa-solid-900.woff | Bin 0 -> 98020 bytes
webfonts/fa-solid-900.woff2 | Bin 0 -> 75336 bytes
800 files changed, 106514 insertions(+), 29865 deletions(-)
diff --git a/.asf.yaml b/.asf.yaml
index 7979072195..99fd039584 100644
--- a/.asf.yaml
+++ b/.asf.yaml
@@ -37,4 +37,8 @@ github:
required_linear_history: true
publish:
- whoami: publish
+ whoami: publish
+
+staging:
+ profile: ~
+ whoami: staging-publish
diff --git a/landing-pages/site/static/.htaccess b/.htaccess
similarity index 99%
rename from landing-pages/site/static/.htaccess
rename to .htaccess
index 647d025fa2..379cdad0a9 100644
--- a/landing-pages/site/static/.htaccess
+++ b/.htaccess
@@ -1,7 +1,7 @@
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/docs [NC]
-RewriteRule (.*) https://d7fnmbhf26p21.cloudfront.net/$1 [P]
+RewriteRule (.*) https://d3a2du7x0n8ydr.cloudfront.net/$1 [P]
RedirectMatch Permanent ^/docs/(stable|1.10.10)/api(\.html)?$ "https://airflow.apache.org/docs/apache-airflow/$1/rest-api-ref"
RedirectMatch Permanent ^/docs/(stable|1.10.10)/(cli|macros)(\.html)?$ "https://airflow.apache.org/docs/apache-airflow/$1/$2-ref"
diff --git a/landing-pages/site/static/.keep b/.keep
similarity index 100%
rename from landing-pages/site/static/.keep
rename to .keep
diff --git a/landing-pages/site/static/.well-known/atproto-did b/.well-known/atproto-did
similarity index 100%
rename from landing-pages/site/static/.well-known/atproto-did
rename to .well-known/atproto-did
diff --git a/landing-pages/site/assets/icons/airflow-logo.svg b/404.html
similarity index 51%
copy from landing-pages/site/assets/icons/airflow-logo.svg
copy to 404.html
index bd3a7623fd..3faac32493 100644
--- a/landing-pages/site/assets/icons/airflow-logo.svg
+++ b/404.html
@@ -1,4 +1,107 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="155.314" height="60" viewBox="0 0 155.314 60">
+
+
+<!doctype html>
+<html lang="en" class="no-js">
+<head>
+
+
+<meta charset="utf-8">
+<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+<meta name="generator" content="Hugo 0.91.2" />
+
+<META NAME="ROBOTS" CONTENT="INDEX, FOLLOW">
+
+
+
+<link rel="apple-touch-icon" sizes="57x57" href="/favicons/apple-icon-57x57.png">
+<link rel="apple-touch-icon" sizes="60x60" href="/favicons/apple-icon-60x60.png">
+<link rel="apple-touch-icon" sizes="72x72" href="/favicons/apple-icon-72x72.png">
+<link rel="apple-touch-icon" sizes="76x76" href="/favicons/apple-icon-76x76.png">
+<link rel="apple-touch-icon" sizes="114x114" href="/favicons/apple-icon-114x114.png">
+<link rel="apple-touch-icon" sizes="120x120" href="/favicons/apple-icon-120x120.png">
+<link rel="apple-touch-icon" sizes="144x144" href="/favicons/apple-icon-144x144.png">
+<link rel="apple-touch-icon" sizes="152x152" href="/favicons/apple-icon-152x152.png">
+<link rel="apple-touch-icon" sizes="180x180" href="/favicons/apple-icon-180x180.png">
+<link rel="icon" type="image/png" sizes="192x192" href="/favicons/android-icon-192x192.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/favicons/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="96x96" href="/favicons/favicon-96x96.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/favicons/favicon-16x16.png">
+<link rel="manifest" href="/manifest.json">
+<meta name="msapplication-TileColor" content="#ffffff">
+<meta name="msapplication-TileImage" content="/favicons/ms-icon-144x144.png">
+<meta name="theme-color" content="#ffffff">
+
+<title>404 Page not found | Apache Airflow</title><meta property="og:title" content="404 Page not found" />
+<meta property="og:description" content="Platform created by the community to programmatically author, schedule and monitor workflows." />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="/404.html" /><meta property="og:image" content="/images/feature-image.png"/><meta property="og:site_name" content="Apache Airflow" />
+
+<meta itemprop="name" content="404 Page not found">
+<meta itemprop="description" content="Platform created by the community to programmatically author, schedule and monitor workflows.">
+
+
+
+
+
+
+<link rel="preload" href="/scss/main.min.b17aebabd27496c9901cfab812b30fb885ece0ac9dedd4969f14edf568b76157.css" as="style">
+<link href="/scss/main.min.b17aebabd27496c9901cfab812b30fb885ece0ac9dedd4969f14edf568b76157.css" rel="stylesheet" integrity="">
+
+<script
+ src="/external/js/jquery-3.3.1.min.js"
+ integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
+ crossorigin="anonymous"></script>
+
+
+<meta name="description" content="Platform created by the community to programmatically author, schedule and monitor workflows." />
+
+
+
+
+ <link rel="preload" href="/scss/main-custom.min.b8fa50ff03a3cb99184036e59eb0c9feffd1e8dbd96bb022465167b167b3a286.css" as="style">
+ <link href="/scss/main-custom.min.b8fa50ff03a3cb99184036e59eb0c9feffd1e8dbd96bb022465167b167b3a286.css" rel="stylesheet" integrity="">
+
+
+
+<script>
+ var _paq = window._paq = window._paq || [];
+
+
+ _paq.push(['disableCookies']);
+ _paq.push(['trackPageView']);
+ _paq.push(['enableLinkTracking']);
+ (function() {
+ var u="https://analytics.apache.org/";
+ _paq.push(['setTrackerUrl', u+'matomo.php']);
+ _paq.push(['setSiteId', '13']);
+ var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
+ g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+ })();
+</script>
+
+
+
+<link rel="preload" href="/main.60e9d.js" as="script">
+<link rel="preload" href="/chunk-1.60e9d.js" as="script">
+
+<link rel="preload" href="/chunk-4.60e9d.js" as="script">
+
+
+
+
+</head>
+<body class="td-404">
+<header>
+
+
+
+<a href="https://airflowsummit.org" target="_blank" class="d-block fixed-top px-3 py-2 bg-success text-center text-bold text-white">
+ Airflow Summit 2025 is coming October 07-09. Register now for early bird ticket!
+</a>
+<nav class="js-navbar-scroll navbar" style="top: 40px;">
+ <div class="navbar__icon-container">
+ <a href="/">
+ <svg xmlns="http://www.w3.org/2000/svg" width="155.314" height="60" viewBox="0 0 155.314 60">
<defs>
<clipPath id="clip-path">
<path id="Rectangle_1" d="M0 0h155.314v60H0z" fill="none" data-name="Rectangle 1"/>
@@ -23,3 +126,438 @@
</g>
</g>
</svg>
+
+ </a>
+ </div>
+ <div class="desktop-only navbar__menu-container">
+
+ <div class="navbar__menu-content" id="main_navbar">
+
+
+ <div class="navbar__links-container">
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/community/"
+ >
+ Community
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/meetups/"
+ >
+ Meetups
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/docs/"
+ >
+ Documentation
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/use-cases/"
+ >
+ Use Cases
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/announcements/"
+ >
+ Announcements
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/blog/"
+ >
+ Blog
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/ecosystem/"
+ >
+ Ecosystem
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/blog/airflow-survey-2024/"
+ >
+ Airflow Survey 2024
+ </a>
+
+ </div>
+ </div>
+
+ </div>
+ <div class="no-desktop navbar__drawer-container">
+ <button class="navbar__toggle-button" id="navbar-toggle-button">
+
+ <div id="hamburger-icon" class="navbar__toggle-button--icon visible">
+ <svg xmlns="http://www.w3.org/2000/svg" width="26" height="20" viewBox="0 0 26 20">
+ <g id="Group_1294" data-name="Group 1294" transform="translate(-38.791 291)">
+ <g id="Group_1291" data-name="Group 1291" transform="translate(39 -291)">
+ <rect id="Rectangle_461" width="26" height="2" fill="#51504f" data-name="Rectangle 461" rx="1" transform="translate(-.209)"/>
+ </g>
+ <g id="Group_1292" data-name="Group 1292" transform="translate(39 -281.822)">
+ <rect id="Rectangle_462" width="26" height="2" fill="#51504f" data-name="Rectangle 462" rx="1" transform="translate(-.209 -.178)"/>
+ </g>
+ <g id="Group_1293" data-name="Group 1293" transform="translate(39 -272.644)">
+ <rect id="Rectangle_463" width="26" height="2" fill="#51504f" data-name="Rectangle 463" rx="1" transform="translate(-.209 -.356)"/>
+ </g>
+ </g>
+</svg>
+
+ </div>
+
+
+ <div id="close-icon" class="navbar__toggle-button--icon">
+ <svg xmlns="http://www.w3.org/2000/svg" width="19.799" height="19.799" viewBox="0 0 19.799 19.799">
+ <g id="Group_1574" data-name="Group 1574" transform="translate(-41.892 290.899)">
+ <g id="Group_1291" data-name="Group 1291" transform="rotate(-45 -308.114 -187.077)">
+ <rect id="Rectangle_461" width="26" height="2" fill="#51504f" data-name="Rectangle 461" rx="1" transform="translate(-.209)"/>
+ </g>
+ <g id="Group_1292" data-name="Group 1292" transform="rotate(45 372.48 -93.011)">
+ <rect id="Rectangle_462" width="26" height="2" fill="#51504f" data-name="Rectangle 462" rx="1" transform="translate(-.209 -.178)"/>
+ </g>
+ </g>
+</svg>
+
+ </div>
+
+ </button>
+ <div class="navbar__drawer" id="navbar-drawer">
+ <div class="navbar__menu-content" id="main_navbar">
+
+
+ <div class="navbar__links-container">
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/community/"
+ >
+ Community
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/meetups/"
+ >
+ Meetups
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/docs/"
+ >
+ Documentation
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/use-cases/"
+ >
+ Use Cases
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/announcements/"
+ >
+ Announcements
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/blog/"
+ >
+ Blog
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/ecosystem/"
+ >
+ Ecosystem
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/blog/airflow-survey-2024/"
+ >
+ Airflow Survey 2024
+ </a>
+
+ </div>
+ </div>
+</div>
+ </div>
+</nav>
+
+
+
+</header>
+<div class="container-fluid td-default">
+
+ <div class="home-page-layout base-layout">
+ <main role="main" class="td-main container">
+
+ <div class="four-oh-four">
+ <div class="four-oh-four__text-container">
+ <h1>404</h1>
+ <h3><a href="/">Go Home</a></h3>
+ </div>
+ </div>
+
+ </main>
+
+
+<div class="base-layout--button">
+
+ <a href=https://github.com/apache/airflow-site/edit/main/landing-pages/site/content/en/>
+
+
+
+<button class="btn-hollow btn-brown btn-with-icon with-box-shadow button-fixed">
+ <svg xmlns="http://www.w3.org/2000/svg" width="30.76" height="30">
+ <path d="M15.379 0a15.381 15.381 0 00-4.86 29.974c.769.141 1.05-.334 1.05-.741 0-.365-.013-1.332-.021-2.616-4.278.929-5.181-2.062-5.181-2.062a4.071 4.071 0 00-1.708-2.25c-1.4-.954.106-.935.106-.935a3.231 3.231 0 012.356 1.585 3.274 3.274 0 004.476 1.278 3.287 3.287 0 01.976-2.056c-3.415-.388-7.005-1.707-7.005-7.6a5.947 5.947 0 011.583-4.127 5.53 5.53 0 01.151-4.07s1.291-.413 4.229 1.577a14.577 14.577 0 017.7 0c2.936-1.99 4.225-1.577 4.225-1.577a5.523 5.523 0 01.153 4.07 5.937 5.937 0 [...]
+ data-name="Path 224" fill="#51504f" fill-rule="evenodd"/>
+</svg>
+
+ <span class="bodytext__medium--brownish-grey">Suggest a change on this page</span>
+</button>
+
+ </a>
+</div>
+
+ </div>
+</div>
+
+
+
+<footer>
+ <div class="footer-section footer-section__media-section">
+ <div class="d-flex align-items-center">
+
+
+
+ <a class="footer-section__media-section--link" target="_blank" href="https://github.com/apache/airflow/">
+ <svg xmlns="http://www.w3.org/2000/svg" width="46.14" height="45" viewBox="0 0 46.14 45">
+ <path id="Path_207" d="M228.962 1078.578a23.072 23.072 0 0 0-7.29 44.96c1.154.212 1.574-.5 1.574-1.112 0-.548-.02-2-.031-3.924-6.417 1.394-7.771-3.093-7.771-3.093a6.109 6.109 0 0 0-2.562-3.375c-2.095-1.431.159-1.4.159-1.4a4.846 4.846 0 0 1 3.533 2.377c2.058 3.525 5.4 2.507 6.714 1.917a4.926 4.926 0 0 1 1.464-3.084c-5.123-.582-10.508-2.562-10.508-11.4a8.919 8.919 0 0 1 2.374-6.191 8.3 8.3 0 0 1 .226-6.105s1.937-.62 6.344 2.365a21.857 21.857 0 0 1 11.551 0c4.4-2.985 6.338-2.365 6.338-2 [...]
+</svg>
+
+ </a>
+
+ <a class="footer-section__media-section--link" target="_blank" href="https://apache-airflow.slack.com/">
+ <svg xmlns="http://www.w3.org/2000/svg" width="45.073" height="45.073" viewBox="0 0 45.073 45.073">
+ <g id="Group_208" data-name="Group 208" transform="translate(-661.145 -806.287)">
+ <g id="Group_204" data-name="Group 204" transform="translate(661.145 830.01)">
+ <path id="Path_208" d="M670.634 856.859a4.744 4.744 0 1 1-4.744-4.744h4.744z" fill="#fff" data-name="Path 208" transform="translate(-661.145 -852.115)"/>
+ <path id="Path_209" d="M684.059 856.859a4.744 4.744 0 0 1 9.489 0v11.861a4.744 4.744 0 1 1-9.489 0z" fill="#fff" data-name="Path 209" transform="translate(-672.198 -852.115)"/>
+ </g>
+ <g id="Group_205" data-name="Group 205" transform="translate(661.145 806.287)">
+ <path id="Path_210" d="M688.8 815.776a4.744 4.744 0 1 1 4.744-4.745v4.745z" fill="#fff" data-name="Path 210" transform="translate(-672.198 -806.287)"/>
+ <path id="Path_211" d="M677.751 829.2a4.744 4.744 0 0 1 0 9.489H665.89a4.744 4.744 0 1 1 0-9.489z" fill="#fff" data-name="Path 211" transform="translate(-661.145 -817.34)"/>
+ </g>
+ <g id="Group_206" data-name="Group 206" transform="translate(684.868 806.287)">
+ <path id="Path_212" d="M729.887 833.945a4.744 4.744 0 1 1 4.745 4.745h-4.745z" fill="#fff" data-name="Path 212" transform="translate(-718.026 -817.34)"/>
+ <path id="Path_213" d="M716.462 822.893a4.744 4.744 0 1 1-9.489 0v-11.862a4.744 4.744 0 0 1 9.489 0z" fill="#fff" data-name="Path 213" transform="translate(-706.973 -806.287)"/>
+ </g>
+ <g id="Group_207" data-name="Group 207" transform="translate(684.868 830.01)">
+ <path id="Path_214" d="M711.718 875.029a4.744 4.744 0 1 1-4.745 4.744v-4.744z" fill="#fff" data-name="Path 214" transform="translate(-706.973 -863.168)"/>
+ <path id="Path_215" d="M711.718 861.6a4.744 4.744 0 1 1 0-9.489h11.861a4.744 4.744 0 0 1 0 9.489z" fill="#fff" data-name="Path 215" transform="translate(-706.973 -852.115)"/>
+ </g>
+ </g>
+</svg>
+
+ </a>
+
+ <a class="footer-section__media-section--link" target="_blank" href="https://stackoverflow.com/questions/tagged/airflow/">
+ <svg xmlns="http://www.w3.org/2000/svg" width="37.647" height="44.6" viewBox="0 0 37.647 44.6">
+ <g id="Group_209" data-name="Group 209" transform="translate(-645.2 -975.455)">
+ <path id="Path_216" d="M677.028 1043.1v-11.948h3.966v15.914H645.2v-15.914h3.966v11.948z" fill="#fff" data-name="Path 216" transform="translate(0 -27.014)"/>
+ <path id="Path_217" d="M661.012 1003.008l19.467 4.069.824-3.914-19.467-4.069zm2.575-9.27l18.025 8.395 1.648-3.605-18.025-8.446zm5-8.858l15.3 12.721 2.524-3.039-15.3-12.721zm9.888-9.425l-3.193 2.369 11.845 15.965 3.193-2.369zm-17.875 36.617h19.879v-3.966H660.6z" fill="#fff" data-name="Path 217" transform="translate(-7.469)"/>
+ </g>
+</svg>
+
+ </a>
+
+ <a class="footer-section__media-section--link" target="_blank" href="https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/">
+ <svg xmlns="http://www.w3.org/2000/svg" width="49.594" height="34.941" viewBox="0 0 49.594 34.941">
+ <path id="Path_223" d="M1124.557 1230a6.232 6.232 0 0 0-4.385-4.413c-3.867-1.043-19.376-1.043-19.376-1.043s-15.508 0-19.376 1.043a6.232 6.232 0 0 0-4.385 4.413c-1.036 3.893-1.036 12.014-1.036 12.014s0 8.122 1.036 12.015a6.232 6.232 0 0 0 4.385 4.413c3.867 1.043 19.376 1.043 19.376 1.043s15.509 0 19.376-1.043a6.232 6.232 0 0 0 4.385-4.413c1.036-3.893 1.036-12.015 1.036-12.015s.001-8.123-1.036-12.014zm-28.833 19.388v-14.748l12.962 7.374z" fill="#fff" data-name="Path 223" transform="tra [...]
+</svg>
+
+ </a>
+
+
+
+ </div>
+ <div class="footer-section__media-section--button-with-text">
+ <span class="footer-section__media-section--text">Want to be a part of Apache Airflow?</span>
+ <a href="/community/">
+
+
+<button id="" class="btn-filled bodytext__medium--white ">Join community</button>
+
+ </a>
+ </div>
+ </div>
+ <div class="footer-section footer-section__policies-section">
+ <div class="footer-section">
+ <span>© The Apache Software Foundation 2025</span>
+ <div class="footer-section__policies-section--policies">
+
+
+
+ <a href="https://www.apache.org/licenses/" class="footer-section__policies-section--policy-item">
+ <span>License</span>
+ </a>
+
+ <a href="https://www.apache.org/foundation/sponsorship.html" class="footer-section__policies-section--policy-item">
+ <span>Donate</span>
+ </a>
+
+ <a href="https://www.apache.org/foundation/thanks.html" class="footer-section__policies-section--policy-item">
+ <span>Thanks</span>
+ </a>
+
+ <a href="https://www.apache.org/security/" class="footer-section__policies-section--policy-item">
+ <span>Security</span>
+ </a>
+
+ <a href="/privacy-notice/" class="footer-section__policies-section--policy-item">
+ <span>Privacy notice</span>
+ </a>
+
+ <a href="/code-of-conduct/" class="footer-section__policies-section--policy-item">
+ <span>Code of Conduct</span>
+ </a>
+
+
+
+ <div class="footer-section__policies-section--language-toggle">
+
+
+
+<a class="dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
+ <span>English</span>
+</a>
+<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+</div>
+
+ </div>
+ </div>
+ </div>
+ <span class="footer-section__policies-section--disclaimer">
+ Apache Airflow, Apache, Airflow, the Airflow logo, and the Apache feather logo are either registered trademarks or trademarks of
+ <a href="https://apache.org/">The Apache Software Foundation</a>.
+ All other products or name brands are trademarks of their respective holders, including The Apache Software Foundation.
+ </span>
+ </div>
+</footer>
+
+
+<script src="/external/js/cdnjs.cloudflare.com-1.14.3-popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
+<script src="/external/js/stackpath.bootstrapcdn.com-4.1.3-bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
+
+
+
+
+
+
+<script src="/js/main.min.5c74b870c6953931a705f390a49c7e4c0a842ec5c83b24354758dd674343ed0d.js" integrity="sha256-XHS4cMaVOTGnBfOQpJx+TAqELsXIOyQ1R1jdZ0ND7Q0=" crossorigin="anonymous"></script>
+
+
+
+</body>
+
+ <script src="/main.60e9d.js"></script>
+
+</html>
diff --git a/CONTRIBUTE.md b/CONTRIBUTE.md
deleted file mode 100644
index 3b6c2a1f48..0000000000
--- a/CONTRIBUTE.md
+++ /dev/null
@@ -1,651 +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.
--->
-
-Contributor Guide
-=================
-
-```
-.
-├── dist
-├── docs-archive
-├── landing-pages
-│ ├── dist
-│ ├── site
-│ │ ├── assets
-│ │ │ ├── icons
-│ │ │ └── scss
-│ │ ├── content
-│ │ │ └── en
-│ │ │ ├── blog
-│ │ │ ├── community
-│ │ │ ├── docs
-│ │ │ ├── install
-│ │ │ ├── meetups
-│ │ │ ├── privacy-notice
-│ │ │ ├── roadmap
-│ │ │ └── use-cases
-│ │ ├── data
-│ │ ├── layouts
-│ │ ├── static
-│ │ │ ├── icons
-│ │ │ └── integration-logos
-│ │ └── themes
-│ │ └── docsy
-│ └── src
-│ └── js
-├── license-templates
-└── sphinx_airflow_theme
- ├── demo
- └── sphinx_airflow_theme
-```
-
-# Working with the project
-
-Work with the site and documentation requires that your computer be properly prepared. Most tasks can
-be done by the site.sh script
-
-### Prerequisite Tasks
-
-The following applications must be installed to use the project:
-
-* git
-* docker (for the shell language linter)
-* Node 16
-* Yarn
-* Hugo
-
-It is also worth adding SSH keys for the `github.com` server to trusted ones. It is necessary to clone repositories. You can do this using following command:
-```bash
-ssh-keyscan -t rsa -H github.com >> ~/.ssh/known_hosts
-```
-
-**Debian installation**
-
-To install git on Debian, run the following command:
-```bash
-sudo apt install git -y
-```
-
-To install docker, run the following command:
-```bash
-curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh
-sudo usermod -aG docker $USER
-```
-
-Git must have commit author information configured, run these commands
-```bash
-git config --global user.email '<yo...@example.com>'
-git config --global user.name '<you name>'
-```
-
-To install Node 16, first install the [Node version manager](https://github.com/nvm-sh/nvm), `nvm`. Then, install Node 16 with these commands:
-
-```bash
-nvm install 16
-nvm use 16
-```
-
-To install yarn, run the following command:
-```bash
-npm install -g yarn
-```
-
-To install hugo on Debian, run the following command:
-```bash
-sudo apt install hugo -y
-```
-
-**macOS installation**
-
-To install git on macOS, install the XCode Command Line Tools with the following command:
-```bash
-xcode-select --install
-```
-
-Then, install [Homebrew](https://brew.sh). Once that has completed, you can install Hugo:
-```bash
-brew install hugo
-```
-
-To install Node 16, first install the [Node version manager](https://github.com/nvm-sh/nvm), `nvm`. Then, install Node 16 with these commands:
-
-```bash
-nvm install 16
-nvm use 16
-```
-
-To install Yarn, run the following command:
-```bash
-brew install yarn
-```
-
-### Static checks
-
-The project uses many static checks using fantastic [pre-commit](https://pre-commit.com/). Every change is checked on CI and if it does not pass the tests it cannot be accepted. If you want to check locally then you should install Python3.6 or newer together with pip and run following command to install pre-commit:
-
-```bash
-pip install -r requirements.txt
-```
-
-To turn on pre-commit checks for commit operations in git, enter:
-```bash
-pre-commit install
-```
-
-To run all checks on your staged files, enter:
-```bash
-pre-commit run
-```
-
-To run all checks on all files, enter:
-```bash
-pre-commit run --all-files
-```
-
-Pre-commit check results are also attached to your PR through integration with Travis CI.
-
-### Clone repository
-
-To clone repository from github.com to local disk, run following command
-
-```bash
-git clone git@github.com:apache/airflow-site.git
-git submodule update --init --recursive
-```
-
-### Use `site.sh` script
-
-In order to manage your local environment for the project, use the `site.sh` script.
-
-`site.sh` provides the following commands.
-
- build-site Prepare dist directory with landing pages and documentation
- preview-landing-pages Starts the web server with preview of the website
- build-landing-pages Builds a landing pages
- prepare-theme Prepares and copies files needed for the proper functioning of the sphinx theme.
- install-node-deps Download all the Node dependencies
- check-site-links Checks if the links are correct in the website
- lint-css Lint CSS files
- lint-js Lint Javascript files
- help Display usage
-
-### How to add a new blogpost
-
-To add a new blogpost with pre-filled frontmatter, in `<ROOT DIRECTORY>/landing-pages/site` run:
-```bash
-hugo new blog/my-new-blogpost.md
-```
-
-That will create a markdown file `<ROOT DIRECTORY>/landing-pages/site/content/<LANGUAGE VERSION>/blog/my-new-blogpost.md`
-with following content:
-```
----
-title: "My New Blogpost"
-linkTitle: "My New Blogpost"
-author: "Your Name"
-twitter: "Your Twitter ID (optional, remove if not needed)"
-github: "Your Github ID (optional, remove if not needed)"
-linkedin: "Your LinkedIn ID (optional, remove if not needed)"
-description: "Description"
-tags: []
-date: "2019-11-19"
-draft: true
----
-```
-Below frontmatter, put your blogpost content.
-
-When you finish your writing blogpost, remember to **remove `draft: true`** from frontmatter.
-
----
-
-To add a new blogpost manually, create a markdown file in `<ROOT DIRECTORY>/landing-pages/site/content/<LANGUAGE VERSION>/blog/<filename>.md`.
-The filename will also serve as URL for your blogpost.
-
-Then, **at the top of the file**, add frontmatter in following format:
-```
----
-title: "<blogpost title>"
-linkTitle: "<blogpost link title>"
-author: "<author's name>"
-twitter: "<optional - author's Twitter ID>"
-github: "<optional - author's Github ID>"
-linkedin: "<optional - author's Linkedin ID>"
-description: "<short description>"
-tags: ["<tag1>", "<tag2>", ...]
-date: <date in YYYY-MM-DD format>
----
-```
-Below frontmatter, put your blogpost content.
-
-### How to add a blog post with images
-
-In order to add a new blog post with images, you need to add it in sub-folder of the "blog" folder and
-name your markdown file "index.md". Images placed in this folder can be referred to directly from
-the markdown file using this directive:
-
-```markdown
-
-```
-
-### How to add a new company testimonial
-
-To add a new company testimonials with pre-filled frontmatter, in `<ROOT DIRECTORY>/landing-pages/site` run:
-```bash
-hugo new testimonials/my-testimonial.md
-```
-
-That will create a markdown file `<ROOT DIRECTORY>/landing-pages/site/content/<LANGUAGE VERSION>/testimonials/my-testimonial.md`
-with following content:
-```
----
-title: "My Use Case"
-linkTitle: "My Use Case"
-quote:
- text: "Quote text"
- author: "Quote's author"
-logo: "logo-name-in-static-icons-directory.svg"
-draft: true
-blocktype: testimonial
----
-
-##### What was the problem?
-text
-
-##### How did Apache Airflow help to solve this problem?
-text
-
-##### What are the results?
-text
-```
-When you finish your testimonial, remember to **remove `draft: true`** from frontmatter.
-
----
-
-To add a new testimonial manually, create a markdown file in `<ROOT DIRECTORY>/landing-pages/site/content/<LANGUAGE VERSION>/testimonials/<filename>.md`.
-The filename will also serve as URL for the testimonial.
-
-Then, **at the top of the file**, add frontmatter in following format:
-
-```
----
-title: "<testimonial title>"
-linkTitle: "<testimonial link title>"
-quote:
- text: "<quote text>"
- author: "<quote author's name>"
-logo: "<logo filename (with extension)>"
-blocktype: testimonial
----
-```
-Below frontmatter, put your testimonial content in the following format:
-
-```
-#### What was the problem?
-<text>
-
-##### How did Apache Airflow help to solve this problem?
-<text>
-
-#### What are the results?
-<text>
-
----
-```
-
-**Important** - put the logo file in `<ROOT DIRECTORY>/landing-pages/site/usecase-logos/icons/` directory. Then, in the frontmatter,
-refer to it just by filename.
-
-Example:
-
-Path to logo file: <ROOT DIRECTORY>/landing-pages/site/static/usecase-logos/my-testimonial.svg
-
-Testimonial in <ROOT DIRECTORY>/landing-pages/site/content/<LANGUAGE VERSION>/use-cases/my-testimonial.md
-
-```
----
-title: "<testimonial title>"
-linkTitle: "<testimonial link title>"
-quote:
- text: "<quote text>"
- author: "<quote author's name>"
-logo: "my-testimonial.svg"
----
-
-#### What was the problem?
-<text>
-
-##### How did Apache Airflow help to solve this problem?
-<text>
-
-#### What are the results?
-<text>
-```
-
-### How to add a new integration
-
-In order to add a new integration, add an entry in `<ROOT DIRECTORY>/landing-pages/site/static/integrations.json` file,
-following the format:
-```json
-{
- "name": "<integration name>",
- "url": "<url to docs with integration description>",
- "logo": "/integration-logos/<filename with extension>"
-}
-```
-
-Integrations are displayed in random order, which might be different on each site reload. To search
-for your integration, use the search functionality.
-
-Providing an integration logo is **optional**. However, please take note that integrations with logo are be promoted
-by being displayed before integrations without a logo.
-
-### How to add a new meetup
-
-In order to add an upcoming meetup, find your group in `<ROOT DIRECTORY>/landing-pages/site/static/meetups.json` file
-and put the meetup's date in following format:
-
-`MON, JAN 01, 6:00 PM`
-
-If your meetup group isn't on the list, add it following the format of existing entries.
-
-### Preview changes on pull requests (CI/CD)
-
-1. Github Action has been configured to automatically publish artifacts for pull requests, so we can preview changes from Github Ui.
- 
-
-2. After downloading the artifacts, unpack the archive and start the local HTTP server, run the following command.
-
- Python 3
- ```bash
- python -m http.server --cgi 8000
- ```
- Python 2.7
- ```bash
- python -m SimpleHTTPServer 8000
- ```
-
-
-# How to release new documentation
-
-Building documentation for the Apache Airlfow project also requires Python3.6 with pip and graphviz. You also need to have additional `apache/airflow` repository available.
-
-### Prerequisite Tasks
-
-You should install and set up all software from "Working with the project/Prerequisite tasks" section.
-
-The following additional application must be installed to use the project:
-
-* python3.6 or newer
-* pip
-* graphviz
-
-**Debian installation:**
-
-To install graphviz, pip for Debian, run following commands:
-```bash
-sudo apt install graphviz python3-pip -y
-```
-
-You should also add `$HOME/.local/bin` to `$PATH`, run following command:
-```bash
-export PATH=$HOME/.local/bin:$PATH;
-```
-
-
-### Clone repositories
-
-It is necessary to configure 2 variables that point to directories with repositories and one that describe current Airflow version. The next steps will assume that these variables are available.
-```bash
-AIRFLOW_REPO=$HOME/airflow
-AIRFLOW_SITE_REPO=$HOME/airflow-site
-AIRFLOW_VERSION=1.10.9
-```
-
-```bash
-git clone git@github.com:apache/airflow.git "${AIRFLOW_REPO}"
-git clone git@github.com:apache/airflow-site.git "${AIRFLOW_SITE_REPO}"
-
-cd "${AIRFLOW_SITE_REPO}" && git submodule update --init --recursive
-```
-
-### Instruction
-
-To release a new documentation, follow these steps:
-
-1. To prepare and install Sphinx theme, run following commands:
- ```bash
- cd "${AIRFLOW_SITE_REPO}" && bash site.sh build-site
- cd "${AIRFLOW_SITE_REPO}" && bash site.sh prepare-theme
- cd "${AIRFLOW_SITE_REPO}/sphinx_airflow_theme" && pip3 install -e .
- ```
-2. To build documentation, run following commands:
- ```bash
- cd "${AIRFLOW_REPO}" && git checkout "${AIRFLOW_VERSION}"
- cd "${AIRFLOW_REPO}" && breeze build-docs'
- ```
-
-3. Copy generated files from `${AIRFLOW_REPO}/docs/_build/html` to `${AIRFLOW_SITE_REPO}/docs-archive/<version>/`
-
- ```bash
- mkdir -p "${AIRFLOW_SITE_REPO}/docs-archive/${AIRFLOW_VERSION}"
- cp -r "${AIRFLOW_REPO}/docs/_build/html/." "${AIRFLOW_SITE_REPO}/docs-archive/${AIRFLOW_VERSION}"
- ```
-
- You can also mark the release as the latest stable version:
-
- ```bash
- echo "${AIRFLOW_VERSION}" > "${AIRFLOW_SITE_REPO}/docs-archive/stable.txt"
- ```
-
-4. Make a commit with generated documentation only.
-
- ```bash
- cd "${AIRFLOW_SITE_REPO}" && git checkout -b "docs-for-${AIRFLOW_VERSION}"
- cd "${AIRFLOW_SITE_REPO}" && git add .
- cd "${AIRFLOW_SITE_REPO}" && git commit -m "Docs for ${AIRFLOW_VERSION}"
- ```
-5. To send changes to the remote server:
-
- ```bash
- cd "${AIRFLOW_SITE_REPO}" && git push origin "docs-for-${AIRFLOW_VERSION}"
- ```
-
-# Publish site on Apache server (CI/CD)
-
-Github Action has been configured to automatically publish artifacts for pull requests, so you can preview changes.
-
-# Publish site on Apache server (manual way)
-
-It is recommended to use Github Action to publish changes to the website, but in case of problems it is also possible to publish changes to the website manually.
-
-
-## Prerequisite tasks
-
-You should install and set up all software from "Working with the project/Prerequisite tasks" section.
-
-The next steps will assume that these variable are available.
-```bash
-AIRFLOW_SITE_REPO=$HOME/airflow-site
-AIRFLOW_SITE_ASF_SITE_REPO=$HOME/airflow-site-asf-site
-```
-
-You need to have the two copy of `apache/airflow-site` repository. The first contains `master` branch checked, the second - `asf-site`. To clone repository run following commands:
-```bash
-git clone git@github.com:apache/airflow-site.git "${AIRFLOW_SITE_REPO}"
-git clone git@github.com:apache/airflow-site.git "${AIRFLOW_SITE_ASF_SITE_REPO}"
-
-cd "${AIRFLOW_SITE_ASF_SITE_REPO}" && git checkout asf-site
-cd "${AIRFLOW_SITE_REPO}" && git submodule update --init --recursive
-```
-
-*Known issues:*
-
-Git worktree does not work properly with repositories that have submodules. Therefore, do not use this features and make multiple full copies of the repositories.
-
-## Instruction
-
-1. To run build site, run following command
-
- ```bash
- cd "${AIRFLOW_SITE_REPO}" && bash site.sh build-landing-pages
- cd "${AIRFLOW_SITE_REPO}" && bash site.sh build-site
- ```
-
-2. Remove all files from `asf-site` branch
-
- ```bash
- cd "${AIRFLOW_SITE_ASF_SITE_REPO}" && git ls-files | xargs -P 16 rm -rf
- ```
-
-3. Copy new release
-
- ```bash
- cp -vr "${AIRFLOW_SITE_REPO}/dist/." "${AIRFLOW_SITE_ASF_SITE_REPO}"
- ```
-
-4. Commit changes
-
- ```bash
- cd "${AIRFLOW_SITE_ASF_SITE_REPO}" && git add .
- cd "${AIRFLOW_SITE_ASF_SITE_REPO}" && git commit -m "Update - $(date)"
- ```
-
-5. Push changes
-
- ```bash
- cd "${AIRFLOW_SITE_ASF_SITE_REPO}" && git push origin asf-site
- ```
-
-# Release and publish documentation in one go
-
-### Prerequisite tasks
-
-You must have the software discussed in "Working with the project/Prerequisite tasks" and "How to release new documentation" section installed.
-
-### Instruction
-
-It is necessary to configure 3 variables that point to directories with repositories and one that describe current Airflow version. The next steps will assume that these variables are available.
-```bash
-AIRFLOW_REPO=$HOME/airflow
-AIRFLOW_SITE_REPO=$HOME/airflow-site
-AIRFLOW_SITE_REPO_ASF_SITE=$HOME/airflow-site
-AIRFLOW_VERSION=1.10.9
-```
-
-Run following commands to do a lot of magic in one go.
-```bash
-# Clone repository
-git clone git@github.com:apache/airflow.git "${AIRFLOW_REPO}"
-cd "${AIRFLOW_REPO}" && git checkout "${AIRFLOW_VERSION}"
-git clone git@github.com:apache/airflow-site.git "${AIRFLOW_SITE_REPO}"
-cd "${AIRFLOW_SITE_REPO}" && git submodule update --init --recursive
-cd "${AIRFLOW_SITE_REPO}" && git checkout -b "docs-${AIRFLOW_VERSION}"
-git clone git@github.com:apache/airflow-site.git "${AIRFLOW_SITE_ASF_SITE_REPO}"
-cd "${AIRFLOW_SITE_ASF_SITE_REPO}" && git checkout asf-site
-
-# Install Python dependencies for Airflow
-cd "${AIRFLOW_REPO}" && git checkout 1.10.9 && pip3 install -e .[doc]
-
-# Build image for site environment
-cd "${AIRFLOW_SITE_REPO}" && bash site.sh build-image
-
-# Install themes
-cd "${AIRFLOW_SITE_REPO}" && bash site.sh build-site
-cd "${AIRFLOW_SITE_REPO}" && bash site.sh prepare-theme
-cd "${AIRFLOW_SITE_REPO}/sphinx_airflow_theme/" && pip3 install -e .
-
-# Build docs
-cd "${AIRFLOW_REPO}/docs/" && bash build.sh
-
-# Copy docs
-rm -rf "${AIRFLOW_SITE_REPO}/docs-archive/${AIRFLOW_VERSION}"
-mv "${AIRFLOW_REPO}/docs/_build/html" "${AIRFLOW_SITE_REPO}/docs-archive/${AIRFLOW_VERSION}"
-
-# Set current version as stable
-echo "${AIRFLOW_VERSION}" > "${AIRFLOW_SITE_REPO}/docs-archive/stable.txt"
-
-# Create commit
-cd "${AIRFLOW_SITE_REPO}" && git add .
-cd "${AIRFLOW_SITE_REPO}" && git commit -m 'Docs for ${AIRFLOW_VERSION}'
-
-# Push new documentation
-cd "${AIRFLOW_SITE_REPO}" && git push origin origin
-```
-
-Once it is accepted and merged, wait for Github Action build to publish the changes.
-
-# Additional tips:
-
-## Using VM on GCP
-
-You should set following variable:
-```bash
-GCP_ZONE="europe-west3-b"
-GCP_INSTANCE_NAME="test-airflow-docs-build"
-```
-
-If you want to create VM on GCP, you could use following command:
-```bash
-gcloud compute instances create "${GCP_INSTANCE_NAME}" \
- --custom-memory=32GB \
- --custom-cpu=6 \
- --zone="${GCP_ZONE}" \
- --image-family="debian-10" \
- --image-project="debian-cloud"
-```
-
-To connect via SSH and forward local SSH key to VM, forward ports from VM run following command:
-```bash
-gcloud beta compute \
- ssh \
- --zone "${GCP_ZONE}" \
- "${GCP_INSTANCE_NAME}" \
- -- \
- -A \
- -L "8000:127.0.0.1:8000" \
- -L "3000:127.0.0.1:3000" \
- -L "1313:127.0.0.1:1313"
-```
-
-To delete VM, run following command:
-```bash
-gcloud compute instances delete "${GCP_INSTANCE_NAME}" --zone="${GCP_ZONE}"
-```
-
-## Use RAM disk for build
-
-If you wanna create RAM disk, run following command:
-```bash
-sudo mkdir -p /mnt/ramdisk && sudo mount -t tmpfs -o size=16g tmpfs /mnt/ramdisk
-```
-
-To force Python to use RAM disk, run following command:
-```bash
-rm -rf $HOME/.local/lib/python3.7
-mkdir -p $HOME/.local/lib/
-mkdir -p /mnt/ramdisk/python3.7
-ln -s /mnt/ramdisk/python3.7 $HOME/.local/lib/python3.7
-```
-
-All environment variable used in guide should look as following:
-```
-AIRFLOW_REPO=/mnt/ramdisk/airflow
-AIRFLOW_SITE_REPO=/mnt/ramdisk/airflow-site
-AIRFLOW_SITE_ASF_SITE_REPO=/mnt/ramdisk/airflow-site-asf-site
-```
diff --git a/Dockerfile b/Dockerfile
deleted file mode 100644
index d338ebced3..0000000000
--- a/Dockerfile
+++ /dev/null
@@ -1,68 +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 debian:stretch-slim
-
-SHELL ["/bin/bash", "-o", "pipefail", "-e", "-u", "-x", "-c"]
-
-ENV DEBIAN_FRONTEND=noninteractive \
- LANGUAGE=C.UTF-8 \
- LANG=C.UTF-8 \
- LC_ALL=C.UTF-8 \
- LC_CTYPE=C.UTF-8 \
- LC_MESSAGES=C.UTF-8
-
-RUN apt-get update \
- && apt-get install -y --no-install-recommends \
- ca-certificates \
- curl \
- git \
- gnupg2 \
- gosu \
- lynx \
- && apt-get autoremove -yqq --purge \
- && apt-get clean \
- && rm -rf /var/lib/apt/lists/*
-
-RUN curl -sL https://deb.nodesource.com/setup_10.x | bash - \
- && apt-get update \
- && apt-get install -y --no-install-recommends \
- nodejs \
- && apt-get autoremove -yqq --purge \
- && apt-get clean \
- && rm -rf /var/lib/apt/lists/*
-
-RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
- && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \
- && apt-get update \
- && apt-get install -y --no-install-recommends yarn \
- && apt-get autoremove -yqq --purge \
- && apt-get clean \
- && rm -rf /var/lib/apt/lists/*
-
-RUN curl -sL "https://github.com/stedolan/jq/releases/download/jq-1.6/jq-linux64" > /usr/local/bin/jq \
- && chmod +x /usr/local/bin/jq
-
-RUN HUGOHOME="$(mktemp -d)" \
- && export HUGOHOME \
- && curl -sL https://github.com/gohugoio/hugo/releases/download/v0.58.3/hugo_extended_0.58.3_Linux-64bit.tar.gz > "${HUGOHOME}/hugo.tar.gz" \
- && tar -xzvf "${HUGOHOME}/hugo.tar.gz" hugo \
- && mv hugo /usr/local/bin/hugo \
- && chmod +x /usr/local/bin/hugo \
- && rm -r "${HUGOHOME}"
-
-WORKDIR /opt/site/
diff --git a/README.md b/README.md
deleted file mode 100644
index d767ca1596..0000000000
--- a/README.md
+++ /dev/null
@@ -1,69 +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.
--->
-
-Apache Airflow website
-======================
-
-[](https://github.com/apache/airflow-site/actions/workflows/build.yml)
-
-This is a repository of [Apache Airflow website](https://airflow.apache.org).
-The repository of Apache Airflow can be found [here](https://github.com/apache/airflow/).
-
-# General directory structure
-
-- docs-archive - directory containing archived documentation versions and shell script generating docs index,
-- landing-pages - directory containing the source code of landing pages,
-- license-templates - directory containing license templates,
-- sphinx_airflow_theme - directory containing source code of sphinx theme for Apache Airflow documentation site.
-
-For more detailed description of directory structure, please refer to [contributor's guide](CONTRIBUTE.md).
-
-# Getting started
-
-If you're a Macbook user, first install `coreutils`.
-
-`brew install coreutils`
-
----
-
-The Docsy theme required for the site to work properly is included as a git submodule.
-
-This means that after you already cloned the repository, you need to update submodules
-
-```bash
-git submodule update --init --recursive
-```
----
-
-In order to build the site locally,
-1. Install [Node.js and NPM](https://nodejs.org/en/download)
-2. Make sure you have [HUGO](https://gohugo.io/installation/) installed. You're recommended to install the version that is being used in the [CI build](https://github.com/apache/airflow-site/blob/main/.github/workflows/build.yml#L53) job.
-3. Run script `<ROOT DIRECTORY>/site.sh build-site`.
-
-In order to preview landing pages, run script `<ROOT DIRECTORY>/site.sh preview-landing-pages`.
-
-In order to work with documentation theme, please refer to
-[Sphinx Airflow theme's readme file](sphinx_airflow_theme/README.md).
-
-For more detailed description of `site.sh` capabilities, please refer to [contributor's guide](CONTRIBUTE.md).
-
-# [Contributor's guide](CONTRIBUTE.md)
-
-If you'd like to contribute to the Apache Airflow website project, read our [contributor's guide](CONTRIBUTE.md)
-where you can find detailed instructions on how to work with the website.
diff --git a/landing-pages/site/static/_gen/indexes/.keep b/_gen/indexes/.keep
similarity index 100%
rename from landing-pages/site/static/_gen/indexes/.keep
rename to _gen/indexes/.keep
diff --git a/_gen/indexes/en/blog-index.json b/_gen/indexes/en/blog-index.json
new file mode 100644
index 0000000000..0380ebb4ea
--- /dev/null
+++ b/_gen/indexes/en/blog-index.json
@@ -0,0 +1 @@
+{"version":"2.3.8","fields":["title","description","author","content","tags","url"],"fieldVectors":[["title/It's a \"Breeze\" to develop Apache Airflow",[0,1.52,1,1.52,2,0.492,3,0.382,4,0.497]],["description/It's a \"Breeze\" to develop Apache Airflow",[2,0.598,4,0.407,5,2.369,6,1.373,7,2.369,8,1.527,9,1.373,10,1.135,11,1.135,12,0.954,13,2.369,14,0.808,15,2.369,16,0.06]],["author/It's a \"Breeze\" to develop Apache Airflow",[11,1.491,17,1.635]],["content/It's a \"Breeze\" to develop Apac [...]
\ No newline at end of file
diff --git a/_gen/indexes/en/blog-posts.json b/_gen/indexes/en/blog-posts.json
new file mode 100644
index 0000000000..c02ad100f0
--- /dev/null
+++ b/_gen/indexes/en/blog-posts.json
@@ -0,0 +1 @@
+[{"content":"## The story behind the Airflow Breeze tool\nInitially, we started contributing to this fantastic open-source project [Apache Airflow] with a team of three which then grew to five. When we kicked it off a year ago, I realized pretty soon where the biggest bottlenecks and areas for improvement in terms of productivity were. Even with the help of our client, who provided us with a “homegrown” development environment it took us literally days to set it up and learn some basics. [...]
\ No newline at end of file
diff --git a/_gen/packages-metadata.json b/_gen/packages-metadata.json
new file mode 100644
index 0000000000..5005214adb
--- /dev/null
+++ b/_gen/packages-metadata.json
@@ -0,0 +1,3487 @@
+[
+ {
+ "package-name": "apache-airflow-providers-airbyte",
+ "all-versions": [
+ "1.0.0",
+ "2.0.0",
+ "2.1.0",
+ "2.1.1",
+ "2.1.2",
+ "2.1.3",
+ "2.1.4",
+ "3.0.0",
+ "3.1.0",
+ "3.2.0",
+ "3.2.1",
+ "3.3.0",
+ "3.3.1",
+ "3.3.2",
+ "3.4.0",
+ "3.5.0",
+ "3.5.1",
+ "3.6.0",
+ "3.7.0",
+ "3.8.0",
+ "3.8.1",
+ "3.9.0",
+ "5.0.0",
+ "5.0.1",
+ "5.0.2"
+ ],
+ "stable-version": "5.0.2"
+ },
+ {
+ "package-name": "apache-airflow-providers-alibaba",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "1.1.0",
+ "1.1.1",
+ "2.0.0",
+ "2.0.1",
+ "2.1.0",
+ "2.2.0",
+ "2.3.0",
+ "2.4.0",
+ "2.4.1",
+ "2.5.0",
+ "2.5.1",
+ "2.5.2",
+ "2.5.3",
+ "2.6.0",
+ "2.7.0",
+ "2.7.1",
+ "2.7.2",
+ "2.7.3",
+ "2.8.0",
+ "2.8.1",
+ "2.9.0",
+ "2.9.1",
+ "3.0.0",
+ "3.0.1",
+ "3.0.2",
+ "3.0.3"
+ ],
+ "stable-version": "3.0.3"
+ },
+ {
+ "package-name": "apache-airflow-providers-amazon",
+ "all-versions": [
+ "1.0.0",
+ "1.1.0",
+ "1.2.0",
+ "1.3.0",
+ "1.4.0",
+ "2.0.0",
+ "2.1.0",
+ "2.2.0",
+ "2.3.0",
+ "2.4.0",
+ "2.5.0",
+ "2.6.0",
+ "3.0.0",
+ "3.1.1",
+ "3.2.0",
+ "3.3.0",
+ "3.4.0",
+ "4.0.0",
+ "4.1.0",
+ "5.0.0",
+ "5.1.0",
+ "6.0.0",
+ "6.1.0",
+ "6.2.0",
+ "7.0.0",
+ "7.1.0",
+ "7.2.0",
+ "7.2.1",
+ "7.3.0",
+ "7.4.0",
+ "7.4.1",
+ "8.0.0",
+ "8.1.0",
+ "8.2.0",
+ "8.3.0",
+ "8.3.1",
+ "8.4.0",
+ "8.5.0",
+ "8.5.1",
+ "8.6.0",
+ "8.7.0",
+ "8.7.1",
+ "8.8.0",
+ "8.9.0",
+ "8.10.0",
+ "8.11.0",
+ "8.12.0",
+ "8.13.0",
+ "8.14.0",
+ "8.15.0",
+ "8.16.0",
+ "8.17.0",
+ "8.18.0",
+ "8.19.0",
+ "8.20.0",
+ "8.21.0",
+ "8.22.0",
+ "8.23.0",
+ "8.24.0",
+ "8.25.0",
+ "8.26.0",
+ "8.27.0",
+ "8.28.0",
+ "8.29.0",
+ "9.0.0",
+ "9.1.0",
+ "9.2.0",
+ "9.4.0",
+ "9.5.0",
+ "9.6.0",
+ "9.6.1",
+ "9.7.0"
+ ],
+ "stable-version": "9.7.0"
+ },
+ {
+ "package-name": "apache-airflow-providers-apache-beam",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "2.0.0",
+ "3.0.0",
+ "3.0.1",
+ "3.1.0",
+ "3.2.0",
+ "3.2.1",
+ "3.3.0",
+ "3.4.0",
+ "4.0.0",
+ "4.1.0",
+ "4.1.1",
+ "4.2.0",
+ "4.3.0",
+ "5.0.0",
+ "5.1.0",
+ "5.1.1",
+ "5.2.0",
+ "5.2.1",
+ "5.2.2",
+ "5.2.3",
+ "5.3.0",
+ "5.4.0",
+ "5.5.0",
+ "5.6.0",
+ "5.6.1",
+ "5.6.2",
+ "5.6.3",
+ "5.7.0",
+ "5.7.1",
+ "5.7.2",
+ "5.8.0",
+ "5.8.1",
+ "5.9.0",
+ "5.9.1",
+ "6.0.0",
+ "6.0.2",
+ "6.0.3",
+ "6.0.4"
+ ],
+ "stable-version": "6.0.4"
+ },
+ {
+ "package-name": "apache-airflow-providers-apache-cassandra",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "2.0.0",
+ "2.0.1",
+ "2.1.0",
+ "2.1.1",
+ "2.1.2",
+ "2.1.3",
+ "3.0.0",
+ "3.1.0",
+ "3.1.1",
+ "3.2.0",
+ "3.2.1",
+ "3.3.0",
+ "3.4.0",
+ "3.4.1",
+ "3.4.2",
+ "3.5.0",
+ "3.5.1",
+ "3.6.0",
+ "3.7.0",
+ "3.7.1",
+ "3.7.2"
+ ],
+ "stable-version": "3.7.2"
+ },
+ {
+ "package-name": "apache-airflow-providers-apache-drill",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "1.0.2",
+ "1.0.3",
+ "1.0.4",
+ "2.0.0",
+ "2.1.0",
+ "2.2.0",
+ "2.2.1",
+ "2.3.0",
+ "2.3.1",
+ "2.3.2",
+ "2.4.0",
+ "2.4.1",
+ "2.4.2",
+ "2.4.3",
+ "2.4.4",
+ "2.5.0",
+ "2.6.0",
+ "2.6.1",
+ "2.7.0",
+ "2.7.1",
+ "2.7.2",
+ "2.7.3",
+ "2.8.0",
+ "2.8.1",
+ "3.0.0",
+ "3.0.1"
+ ],
+ "stable-version": "3.0.1"
+ },
+ {
+ "package-name": "apache-airflow-providers-apache-druid",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "1.1.0",
+ "2.0.0",
+ "2.0.1",
+ "2.0.2",
+ "2.1.0",
+ "2.2.0",
+ "2.3.0",
+ "2.3.1",
+ "2.3.2",
+ "2.3.3",
+ "3.0.0",
+ "3.1.0",
+ "3.2.0",
+ "3.2.1",
+ "3.3.0",
+ "3.3.1",
+ "3.4.0",
+ "3.4.1",
+ "3.4.2",
+ "3.5.0",
+ "3.6.0",
+ "3.7.0",
+ "3.8.0",
+ "3.8.1",
+ "3.9.0",
+ "3.10.0",
+ "3.10.1",
+ "3.10.2",
+ "3.11.0",
+ "3.12.0",
+ "3.12.1",
+ "4.0.0",
+ "4.1.0",
+ "4.1.1"
+ ],
+ "stable-version": "4.1.1"
+ },
+ {
+ "package-name": "apache-airflow-providers-apache-flink",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "1.1.0",
+ "1.1.1",
+ "1.1.2",
+ "1.1.3",
+ "1.2.0",
+ "1.3.0",
+ "1.4.0",
+ "1.4.1",
+ "1.4.2",
+ "1.5.0",
+ "1.5.1",
+ "1.6.0",
+ "1.6.1",
+ "1.6.2"
+ ],
+ "stable-version": "1.6.2"
+ },
+ {
+ "package-name": "apache-airflow-providers-apache-hdfs",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "2.0.0",
+ "2.1.0",
+ "2.1.1",
+ "2.2.0",
+ "2.2.1",
+ "2.2.2",
+ "2.2.3",
+ "3.0.0",
+ "3.0.1",
+ "3.1.0",
+ "3.2.0",
+ "3.2.1",
+ "4.0.0",
+ "4.1.0",
+ "4.1.1",
+ "4.2.0",
+ "4.3.0",
+ "4.3.1",
+ "4.3.2",
+ "4.3.3",
+ "4.4.0",
+ "4.4.1",
+ "4.4.2",
+ "4.5.0",
+ "4.5.1",
+ "4.6.0",
+ "4.7.0",
+ "4.7.1",
+ "4.8.0",
+ "4.8.1"
+ ],
+ "stable-version": "4.8.1"
+ },
+ {
+ "package-name": "apache-airflow-providers-apache-hive",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "1.0.2",
+ "1.0.3",
+ "2.0.0",
+ "2.0.1",
+ "2.0.2",
+ "2.0.3",
+ "2.1.0",
+ "2.2.0",
+ "2.3.0",
+ "2.3.1",
+ "2.3.2",
+ "2.3.3",
+ "3.0.0",
+ "3.1.0",
+ "4.0.0",
+ "4.0.1",
+ "4.1.0",
+ "4.1.1",
+ "5.0.0",
+ "5.1.0",
+ "5.1.1",
+ "5.1.2",
+ "5.1.3",
+ "6.0.0",
+ "6.1.0",
+ "6.1.1",
+ "6.1.2",
+ "6.1.3",
+ "6.1.4",
+ "6.1.5",
+ "6.1.6",
+ "6.2.0",
+ "6.3.0",
+ "6.4.0",
+ "6.4.1",
+ "6.4.2",
+ "7.0.0",
+ "7.0.1",
+ "8.0.0",
+ "8.1.0",
+ "8.1.1",
+ "8.1.2",
+ "8.2.0",
+ "8.2.1",
+ "9.0.0",
+ "9.0.2",
+ "9.0.3",
+ "9.0.4",
+ "9.0.5",
+ "9.0.6"
+ ],
+ "stable-version": "9.0.6"
+ },
+ {
+ "package-name": "apache-airflow-providers-apache-iceberg",
+ "all-versions": [
+ "1.0.0",
+ "1.2.0",
+ "1.2.1"
+ ],
+ "stable-version": "1.2.1"
+ },
+ {
+ "package-name": "apache-airflow-providers-apache-impala",
+ "all-versions": [
+ "1.0.0",
+ "1.1.0",
+ "1.1.1",
+ "1.1.2",
+ "1.1.3",
+ "1.2.0",
+ "1.2.1",
+ "1.3.0",
+ "1.4.0",
+ "1.4.1",
+ "1.4.2",
+ "1.5.0",
+ "1.5.1",
+ "1.5.2",
+ "1.6.0",
+ "1.6.1"
+ ],
+ "stable-version": "1.6.1"
+ },
+ {
+ "package-name": "apache-airflow-providers-apache-kafka",
+ "all-versions": [
+ "1.0.0",
+ "1.1.0",
+ "1.1.1",
+ "1.1.2",
+ "1.2.0",
+ "1.3.0",
+ "1.3.1",
+ "1.4.0",
+ "1.4.1",
+ "1.5.0",
+ "1.6.0",
+ "1.6.1",
+ "1.7.0",
+ "1.8.0",
+ "1.8.1"
+ ],
+ "stable-version": "1.8.1"
+ },
+ {
+ "package-name": "apache-airflow-providers-apache-kylin",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "2.0.0",
+ "2.0.1",
+ "2.0.2",
+ "2.0.3",
+ "2.0.4",
+ "3.0.0",
+ "3.1.0",
+ "3.2.0",
+ "3.2.1",
+ "3.3.0",
+ "3.4.0",
+ "3.5.0",
+ "3.6.0",
+ "3.6.1",
+ "3.6.2",
+ "3.7.0",
+ "3.8.0",
+ "3.8.1",
+ "3.8.2",
+ "3.8.3"
+ ],
+ "stable-version": "3.8.3"
+ },
+ {
+ "package-name": "apache-airflow-providers-apache-livy",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "1.1.0",
+ "2.0.0",
+ "2.1.0",
+ "2.2.0",
+ "2.2.1",
+ "2.2.2",
+ "2.2.3",
+ "3.0.0",
+ "3.1.0",
+ "3.2.0",
+ "3.3.0",
+ "3.4.0",
+ "3.5.0",
+ "3.5.1",
+ "3.5.2",
+ "3.5.3",
+ "3.5.4",
+ "3.6.0",
+ "3.7.0",
+ "3.7.1",
+ "3.7.2",
+ "3.7.3",
+ "3.8.0",
+ "3.8.1",
+ "3.9.0",
+ "3.9.1",
+ "3.9.2",
+ "4.0.0",
+ "4.2.0",
+ "4.2.1",
+ "4.3.0",
+ "4.3.1",
+ "4.3.2"
+ ],
+ "stable-version": "4.3.2"
+ },
+ {
+ "package-name": "apache-airflow-providers-apache-pig",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "2.0.0",
+ "2.0.1",
+ "2.0.2",
+ "2.0.3",
+ "2.0.4",
+ "3.0.0",
+ "4.0.0",
+ "4.1.0",
+ "4.1.1",
+ "4.1.2",
+ "4.2.0",
+ "4.3.0",
+ "4.4.0",
+ "4.4.1",
+ "4.5.0",
+ "4.6.0",
+ "4.6.1"
+ ],
+ "stable-version": "4.6.1"
+ },
+ {
+ "package-name": "apache-airflow-providers-apache-pinot",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "2.0.0",
+ "2.0.1",
+ "2.0.2",
+ "2.0.3",
+ "2.0.4",
+ "3.0.0",
+ "3.1.0",
+ "3.2.0",
+ "3.2.1",
+ "4.0.0",
+ "4.0.1",
+ "4.1.0",
+ "4.1.1",
+ "4.1.2",
+ "4.1.3",
+ "4.1.4",
+ "4.2.0",
+ "4.3.0",
+ "4.3.1",
+ "4.4.0",
+ "4.4.1",
+ "4.4.2",
+ "4.5.0",
+ "4.5.1",
+ "4.6.0",
+ "4.7.0"
+ ],
+ "stable-version": "4.7.0"
+ },
+ {
+ "package-name": "apache-airflow-providers-apache-spark",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "1.0.2",
+ "1.0.3",
+ "2.0.0",
+ "2.0.1",
+ "2.0.2",
+ "2.0.3",
+ "2.1.0",
+ "2.1.1",
+ "2.1.2",
+ "2.1.3",
+ "3.0.0",
+ "4.0.0",
+ "4.0.1",
+ "4.1.0",
+ "4.1.1",
+ "4.1.2",
+ "4.1.3",
+ "4.1.4",
+ "4.1.5",
+ "4.2.0",
+ "4.3.0",
+ "4.4.0",
+ "4.5.0",
+ "4.6.0",
+ "4.7.0",
+ "4.7.1",
+ "4.7.2",
+ "4.8.0",
+ "4.8.1",
+ "4.8.2",
+ "4.9.0",
+ "4.10.0",
+ "4.11.0",
+ "4.11.1",
+ "4.11.2",
+ "4.11.3",
+ "5.0.0",
+ "5.0.1",
+ "5.1.1",
+ "5.2.0",
+ "5.2.1"
+ ],
+ "stable-version": "5.2.1"
+ },
+ {
+ "package-name": "apache-airflow-providers-apache-sqoop",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "2.0.0",
+ "2.0.1",
+ "2.0.2",
+ "2.1.0",
+ "2.1.1",
+ "2.1.2",
+ "2.1.3",
+ "3.0.0",
+ "3.1.0",
+ "3.1.1",
+ "3.2.0",
+ "3.2.1",
+ "4.0.0",
+ "4.1.0",
+ "4.2.0",
+ "4.2.1"
+ ],
+ "stable-version": "4.2.1"
+ },
+ {
+ "package-name": "apache-airflow-providers-apache-tinkerpop",
+ "all-versions": [
+ "1.0.0"
+ ],
+ "stable-version": "1.0.0"
+ },
+ {
+ "package-name": "apache-airflow-providers-apprise",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "1.0.2",
+ "1.1.0",
+ "1.2.0",
+ "1.2.1",
+ "1.2.2",
+ "1.3.0",
+ "1.3.1",
+ "1.3.2",
+ "1.4.0",
+ "1.4.1",
+ "2.0.0",
+ "2.0.1",
+ "2.0.2"
+ ],
+ "stable-version": "2.0.2"
+ },
+ {
+ "package-name": "apache-airflow-providers-arangodb",
+ "all-versions": [
+ "1.0.0",
+ "2.0.0",
+ "2.1.0",
+ "2.1.1",
+ "2.2.0",
+ "2.2.1",
+ "2.2.2",
+ "2.3.0",
+ "2.4.0",
+ "2.4.1",
+ "2.5.0",
+ "2.5.1",
+ "2.6.0",
+ "2.7.0",
+ "2.7.2",
+ "2.7.3",
+ "2.7.4"
+ ],
+ "stable-version": "2.7.4"
+ },
+ {
+ "package-name": "apache-airflow-providers-asana",
+ "all-versions": [
+ "1.0.0",
+ "1.1.0",
+ "1.1.1",
+ "1.1.2",
+ "1.1.3",
+ "2.0.0",
+ "2.0.1",
+ "2.1.0",
+ "2.2.0",
+ "2.2.1",
+ "2.2.2",
+ "2.3.0",
+ "2.4.0",
+ "2.4.1",
+ "2.5.0",
+ "2.5.1",
+ "2.6.0",
+ "2.7.0",
+ "2.9.0",
+ "2.9.1"
+ ],
+ "stable-version": "2.9.1"
+ },
+ {
+ "package-name": "apache-airflow-providers-atlassian-jira",
+ "all-versions": [
+ "1.0.0",
+ "1.1.0",
+ "2.0.0",
+ "2.0.1",
+ "2.1.0",
+ "2.1.1",
+ "2.2.0",
+ "2.3.0",
+ "2.4.0",
+ "2.5.0",
+ "2.5.1",
+ "2.6.0",
+ "2.6.1",
+ "2.7.0",
+ "2.7.1",
+ "3.0.0",
+ "3.0.1",
+ "3.0.2"
+ ],
+ "stable-version": "3.0.2"
+ },
+ {
+ "package-name": "apache-airflow-providers-celery",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "2.0.0",
+ "2.1.0",
+ "2.1.1",
+ "2.1.2",
+ "2.1.3",
+ "2.1.4",
+ "3.0.0",
+ "3.1.0",
+ "3.2.0",
+ "3.2.1",
+ "3.3.0",
+ "3.3.1",
+ "3.3.2",
+ "3.3.3",
+ "3.3.4",
+ "3.4.0",
+ "3.4.1",
+ "3.5.0",
+ "3.5.1",
+ "3.5.2",
+ "3.6.0",
+ "3.6.1",
+ "3.6.2",
+ "3.7.0",
+ "3.7.1",
+ "3.7.2",
+ "3.7.3",
+ "3.8.0",
+ "3.8.1",
+ "3.8.2",
+ "3.8.3",
+ "3.8.4",
+ "3.8.5",
+ "3.9.0",
+ "3.10.0",
+ "3.10.2",
+ "3.10.3",
+ "3.10.4",
+ "3.10.5",
+ "3.10.6"
+ ],
+ "stable-version": "3.10.6"
+ },
+ {
+ "package-name": "apache-airflow-providers-cloudant",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "2.0.0",
+ "2.0.1",
+ "2.0.2",
+ "2.0.3",
+ "2.0.4",
+ "3.0.0",
+ "3.1.0",
+ "3.2.0",
+ "3.2.1",
+ "3.3.0",
+ "3.4.0",
+ "3.4.1",
+ "3.5.0",
+ "3.5.1",
+ "3.5.2",
+ "3.6.0",
+ "4.0.0",
+ "4.0.1",
+ "4.0.2",
+ "4.0.3",
+ "4.1.0",
+ "4.1.1"
+ ],
+ "stable-version": "4.1.1"
+ },
+ {
+ "package-name": "apache-airflow-providers-cncf-kubernetes",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "1.0.2",
+ "1.1.0",
+ "1.2.0",
+ "2.0.0",
+ "2.0.1",
+ "2.0.2",
+ "2.0.3",
+ "2.1.0",
+ "2.2.0",
+ "3.0.0",
+ "3.0.1",
+ "3.0.2",
+ "3.1.0",
+ "3.1.1",
+ "3.1.2",
+ "4.0.0",
+ "4.0.1",
+ "4.0.2",
+ "4.1.0",
+ "4.2.0",
+ "4.3.0",
+ "4.4.0",
+ "5.0.0",
+ "5.1.0",
+ "5.1.1",
+ "5.2.0",
+ "5.2.1",
+ "5.2.2",
+ "5.3.0",
+ "6.0.0",
+ "6.1.0",
+ "7.0.0",
+ "7.1.0",
+ "7.2.0",
+ "7.3.0",
+ "7.4.0",
+ "7.4.1",
+ "7.4.2",
+ "7.5.0",
+ "7.5.1",
+ "7.6.0",
+ "7.7.0",
+ "7.8.0",
+ "7.9.0",
+ "7.10.0",
+ "7.11.0",
+ "7.12.0",
+ "7.13.0",
+ "7.14.0",
+ "8.0.0",
+ "8.0.1",
+ "8.1.0",
+ "8.1.1",
+ "8.2.0",
+ "8.3.0",
+ "8.3.1",
+ "8.3.2",
+ "8.3.3",
+ "8.3.4",
+ "8.4.0",
+ "8.4.1",
+ "8.4.2",
+ "9.0.0",
+ "9.0.1",
+ "10.0.0",
+ "10.0.1",
+ "10.1.0",
+ "10.3.0",
+ "10.3.1",
+ "10.4.0",
+ "10.4.1",
+ "10.4.2",
+ "10.4.3"
+ ],
+ "stable-version": "10.4.3"
+ },
+ {
+ "package-name": "apache-airflow-providers-cohere",
+ "all-versions": [
+ "1.0.0",
+ "1.1.0",
+ "1.1.1",
+ "1.1.2",
+ "1.1.3",
+ "1.2.0",
+ "1.2.1",
+ "1.3.0",
+ "1.4.0",
+ "1.4.2",
+ "1.4.3"
+ ],
+ "stable-version": "1.4.3"
+ },
+ {
+ "package-name": "apache-airflow-providers-common-compat",
+ "all-versions": [
+ "1.0.0",
+ "1.1.0",
+ "1.2.0",
+ "1.2.1",
+ "1.2.2",
+ "1.3.0",
+ "1.5.0",
+ "1.5.1",
+ "1.6.0",
+ "1.6.1"
+ ],
+ "stable-version": "1.6.1"
+ },
+ {
+ "package-name": "apache-airflow-providers-common-io",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "1.1.0",
+ "1.2.0",
+ "1.3.0",
+ "1.3.1",
+ "1.3.2",
+ "1.4.0",
+ "1.4.1",
+ "1.4.2",
+ "1.5.0",
+ "1.5.1",
+ "1.5.2",
+ "1.5.3",
+ "1.5.4"
+ ],
+ "stable-version": "1.5.4"
+ },
+ {
+ "package-name": "apache-airflow-providers-common-messaging",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1"
+ ],
+ "stable-version": "1.0.1"
+ },
+ {
+ "package-name": "apache-airflow-providers-common-sql",
+ "all-versions": [
+ "1.0.0",
+ "1.1.0",
+ "1.2.0",
+ "1.3.0",
+ "1.3.1",
+ "1.3.2",
+ "1.3.3",
+ "1.3.4",
+ "1.4.0",
+ "1.5.0",
+ "1.5.1",
+ "1.5.2",
+ "1.6.0",
+ "1.6.1",
+ "1.6.2",
+ "1.7.0",
+ "1.7.1",
+ "1.7.2",
+ "1.8.0",
+ "1.8.1",
+ "1.9.0",
+ "1.10.0",
+ "1.10.1",
+ "1.11.0",
+ "1.11.1",
+ "1.12.0",
+ "1.13.0",
+ "1.14.0",
+ "1.14.1",
+ "1.14.2",
+ "1.15.0",
+ "1.16.0",
+ "1.17.0",
+ "1.17.1",
+ "1.18.0",
+ "1.19.0",
+ "1.20.0",
+ "1.21.0",
+ "1.23.0",
+ "1.24.0",
+ "1.24.1",
+ "1.25.0",
+ "1.26.0",
+ "1.27.0"
+ ],
+ "stable-version": "1.27.0"
+ },
+ {
+ "package-name": "apache-airflow-providers-daskexecutor",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "1.1.0",
+ "1.1.1"
+ ],
+ "stable-version": "1.1.1"
+ },
+ {
+ "package-name": "apache-airflow-providers-databricks",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "2.0.0",
+ "2.0.1",
+ "2.0.2",
+ "2.1.0",
+ "2.2.0",
+ "2.3.0",
+ "2.4.0",
+ "2.5.0",
+ "2.6.0",
+ "2.7.0",
+ "3.0.0",
+ "3.1.0",
+ "3.2.0",
+ "3.3.0",
+ "3.4.0",
+ "4.0.0",
+ "4.0.1",
+ "4.1.0",
+ "4.2.0",
+ "4.3.0",
+ "4.3.1",
+ "4.3.2",
+ "4.3.3",
+ "4.4.0",
+ "4.5.0",
+ "4.6.0",
+ "4.7.0",
+ "5.0.0",
+ "5.0.1",
+ "6.0.0",
+ "6.1.0",
+ "6.2.0",
+ "6.3.0",
+ "6.4.0",
+ "6.5.0",
+ "6.6.0",
+ "6.7.0",
+ "6.8.0",
+ "6.9.0",
+ "6.10.0",
+ "6.11.0",
+ "6.12.0",
+ "6.13.0",
+ "7.0.0",
+ "7.2.0",
+ "7.2.1",
+ "7.2.2",
+ "7.3.0",
+ "7.3.1",
+ "7.3.2"
+ ],
+ "stable-version": "7.3.2"
+ },
+ {
+ "package-name": "apache-airflow-providers-datadog",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "2.0.0",
+ "2.0.1",
+ "2.0.2",
+ "2.0.3",
+ "2.0.4",
+ "3.0.0",
+ "3.1.0",
+ "3.2.0",
+ "3.3.0",
+ "3.3.1",
+ "3.3.2",
+ "3.4.0",
+ "3.5.0",
+ "3.5.1",
+ "3.6.0",
+ "3.6.1",
+ "3.7.0",
+ "3.7.1",
+ "3.8.0",
+ "3.8.2",
+ "3.8.3"
+ ],
+ "stable-version": "3.8.3"
+ },
+ {
+ "package-name": "apache-airflow-providers-dbt-cloud",
+ "all-versions": [
+ "1.0.1",
+ "1.0.2",
+ "2.0.0",
+ "2.0.1",
+ "2.1.0",
+ "2.2.0",
+ "2.3.0",
+ "2.3.1",
+ "3.0.0",
+ "3.1.0",
+ "3.1.1",
+ "3.2.0",
+ "3.2.1",
+ "3.2.2",
+ "3.2.3",
+ "3.3.0",
+ "3.4.0",
+ "3.4.1",
+ "3.5.0",
+ "3.5.1",
+ "3.6.0",
+ "3.6.1",
+ "3.7.0",
+ "3.7.1",
+ "3.8.0",
+ "3.8.1",
+ "3.9.0",
+ "3.10.0",
+ "3.10.1",
+ "3.11.0",
+ "3.11.1",
+ "3.11.2",
+ "4.0.0",
+ "4.2.0",
+ "4.2.1",
+ "4.3.1",
+ "4.3.2",
+ "4.3.3"
+ ],
+ "stable-version": "4.3.3"
+ },
+ {
+ "package-name": "apache-airflow-providers-dingding",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "1.0.2",
+ "2.0.0",
+ "2.0.1",
+ "2.0.2",
+ "2.0.3",
+ "2.0.4",
+ "3.0.0",
+ "3.1.0",
+ "3.2.0",
+ "3.2.1",
+ "3.3.0",
+ "3.4.0",
+ "3.5.0",
+ "3.5.1",
+ "3.6.0",
+ "3.7.0",
+ "3.7.2",
+ "3.7.3"
+ ],
+ "stable-version": "3.7.3"
+ },
+ {
+ "package-name": "apache-airflow-providers-discord",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "2.0.0",
+ "2.0.1",
+ "2.0.2",
+ "2.0.3",
+ "2.0.4",
+ "2.1.4",
+ "3.0.0",
+ "3.1.0",
+ "3.2.0",
+ "3.3.0",
+ "3.3.1",
+ "3.4.0",
+ "3.4.1",
+ "3.5.0",
+ "3.6.0",
+ "3.7.0",
+ "3.7.1",
+ "3.8.0",
+ "3.9.0",
+ "3.9.2",
+ "3.9.3",
+ "3.9.4",
+ "3.9.5"
+ ],
+ "stable-version": "3.9.5"
+ },
+ {
+ "package-name": "apache-airflow-providers-docker",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "1.0.2",
+ "1.1.0",
+ "1.2.0",
+ "2.0.0",
+ "2.1.0",
+ "2.1.1",
+ "2.2.0",
+ "2.3.0",
+ "2.4.0",
+ "2.4.1",
+ "2.5.0",
+ "2.5.1",
+ "2.5.2",
+ "2.6.0",
+ "2.7.0",
+ "3.0.0",
+ "3.1.0",
+ "3.2.0",
+ "3.3.0",
+ "3.4.0",
+ "3.5.0",
+ "3.5.1",
+ "3.6.0",
+ "3.7.0",
+ "3.7.1",
+ "3.7.2",
+ "3.7.3",
+ "3.7.4",
+ "3.7.5",
+ "3.8.0",
+ "3.8.1",
+ "3.8.2",
+ "3.9.0",
+ "3.9.1",
+ "3.9.2",
+ "3.10.0",
+ "3.11.0",
+ "3.12.0",
+ "3.12.1",
+ "3.12.2",
+ "3.12.3",
+ "3.13.0",
+ "3.14.0",
+ "3.14.1",
+ "4.0.0",
+ "4.2.0",
+ "4.2.1",
+ "4.3.0",
+ "4.3.1"
+ ],
+ "stable-version": "4.3.1"
+ },
+ {
+ "package-name": "apache-airflow-providers-edge3",
+ "all-versions": [
+ "1.0.0"
+ ],
+ "stable-version": "1.0.0"
+ },
+ {
+ "package-name": "apache-airflow-providers-elasticsearch",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "1.0.2",
+ "1.0.3",
+ "1.0.4",
+ "2.0.1",
+ "2.0.2",
+ "2.0.3",
+ "2.1.0",
+ "2.2.0",
+ "3.0.0",
+ "3.0.1",
+ "3.0.2",
+ "3.0.3",
+ "4.0.0",
+ "4.1.0",
+ "4.2.0",
+ "4.2.1",
+ "4.3.0",
+ "4.3.1",
+ "4.3.2",
+ "4.3.3",
+ "4.4.0",
+ "4.5.0",
+ "4.5.1",
+ "5.0.0",
+ "5.0.1",
+ "5.0.2",
+ "5.1.0",
+ "5.1.1",
+ "5.2.0",
+ "5.3.0",
+ "5.3.1",
+ "5.3.2",
+ "5.3.3",
+ "5.3.4",
+ "5.4.0",
+ "5.4.1",
+ "5.4.2",
+ "5.5.0",
+ "5.5.1",
+ "5.5.2",
+ "5.5.3",
+ "6.0.0",
+ "6.2.0",
+ "6.2.1",
+ "6.2.2"
+ ],
+ "stable-version": "6.2.2"
+ },
+ {
+ "package-name": "apache-airflow-providers-exasol",
+ "all-versions": [
+ "1.0.0",
+ "1.1.0",
+ "1.1.1",
+ "2.0.0",
+ "2.0.1",
+ "2.1.0",
+ "2.1.1",
+ "2.1.2",
+ "2.1.3",
+ "3.0.0",
+ "3.1.0",
+ "4.0.0",
+ "4.0.1",
+ "4.1.0",
+ "4.1.1",
+ "4.1.2",
+ "4.1.3",
+ "4.2.0",
+ "4.2.1",
+ "4.2.2",
+ "4.2.3",
+ "4.2.4",
+ "4.2.5",
+ "4.3.0",
+ "4.4.0",
+ "4.4.1",
+ "4.4.2",
+ "4.4.3",
+ "4.5.0",
+ "4.5.1",
+ "4.5.2",
+ "4.5.3",
+ "4.6.0",
+ "4.6.1",
+ "4.7.0",
+ "4.7.2",
+ "4.7.3",
+ "4.7.4",
+ "4.7.5"
+ ],
+ "stable-version": "4.7.5"
+ },
+ {
+ "package-name": "apache-airflow-providers-fab",
+ "all-versions": [
+ "1.0.0",
+ "1.0.2",
+ "1.0.3",
+ "1.0.4",
+ "1.1.0",
+ "1.1.1",
+ "1.2.0",
+ "1.2.1",
+ "1.2.2",
+ "1.3.0",
+ "1.4.0",
+ "1.4.1",
+ "1.5.0",
+ "1.5.1",
+ "1.5.2",
+ "1.5.3",
+ "2.0.0",
+ "2.0.1",
+ "2.0.2"
+ ],
+ "stable-version": "2.0.2"
+ },
+ {
+ "package-name": "apache-airflow-providers-facebook",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "1.1.0",
+ "2.0.0",
+ "2.0.1",
+ "2.1.0",
+ "2.2.0",
+ "2.2.1",
+ "2.2.2",
+ "2.2.3",
+ "3.0.0",
+ "3.0.1",
+ "3.1.0",
+ "3.2.0",
+ "3.2.1",
+ "3.2.2",
+ "3.3.0",
+ "3.4.0",
+ "3.5.0",
+ "3.5.1",
+ "3.5.2",
+ "3.6.0",
+ "3.7.0",
+ "3.7.1",
+ "3.7.2"
+ ],
+ "stable-version": "3.7.2"
+ },
+ {
+ "package-name": "apache-airflow-providers-ftp",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "1.1.0",
+ "2.0.0",
+ "2.0.1",
+ "2.1.0",
+ "2.1.1",
+ "2.1.2",
+ "3.0.0",
+ "3.1.0",
+ "3.2.0",
+ "3.3.0",
+ "3.3.1",
+ "3.4.0",
+ "3.4.1",
+ "3.4.2",
+ "3.5.0",
+ "3.5.1",
+ "3.5.2",
+ "3.6.0",
+ "3.6.1",
+ "3.7.0",
+ "3.8.0",
+ "3.9.0",
+ "3.9.1",
+ "3.10.0",
+ "3.10.1",
+ "3.11.0",
+ "3.11.1",
+ "3.12.0",
+ "3.12.2",
+ "3.12.3"
+ ],
+ "stable-version": "3.12.3"
+ },
+ {
+ "package-name": "apache-airflow-providers-git",
+ "all-versions": [
+ "0.0.1",
+ "0.0.2"
+ ],
+ "stable-version": "0.0.2"
+ },
+ {
+ "package-name": "apache-airflow-providers-github",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "1.0.2",
+ "1.0.3",
+ "2.0.0",
+ "2.1.0",
+ "2.2.0",
+ "2.2.1",
+ "2.3.0",
+ "2.3.1",
+ "2.3.2",
+ "2.4.0",
+ "2.5.0",
+ "2.5.1",
+ "2.6.0",
+ "2.6.1",
+ "2.6.2",
+ "2.7.0",
+ "2.8.0",
+ "2.8.2",
+ "2.8.3"
+ ],
+ "stable-version": "2.8.3"
+ },
+ {
+ "package-name": "apache-airflow-providers-google",
+ "all-versions": [
+ "0.0.1",
+ "0.0.2",
+ "1.0.0",
+ "2.0.0",
+ "2.1.0",
+ "2.2.0",
+ "3.0.0",
+ "4.0.0",
+ "5.0.0",
+ "5.1.0",
+ "6.0.0",
+ "6.1.0",
+ "6.2.0",
+ "6.3.0",
+ "6.4.0",
+ "6.5.0",
+ "6.6.0",
+ "6.7.0",
+ "6.8.0",
+ "7.0.0",
+ "8.0.0",
+ "8.1.0",
+ "8.2.0",
+ "8.3.0",
+ "8.4.0",
+ "8.5.0",
+ "8.6.0",
+ "8.7.0",
+ "8.8.0",
+ "8.9.0",
+ "8.10.0",
+ "8.11.0",
+ "8.12.0",
+ "9.0.0",
+ "10.0.0",
+ "10.1.0",
+ "10.1.1",
+ "10.2.0",
+ "10.3.0",
+ "10.4.0",
+ "10.5.0",
+ "10.6.0",
+ "10.7.0",
+ "10.8.0",
+ "10.9.0",
+ "10.10.0",
+ "10.10.1",
+ "10.11.0",
+ "10.11.1",
+ "10.12.0",
+ "10.13.0",
+ "10.13.1",
+ "10.14.0",
+ "10.15.0",
+ "10.16.0",
+ "10.17.0",
+ "10.18.0",
+ "10.19.0",
+ "10.20.0",
+ "10.21.0",
+ "10.21.1",
+ "10.22.0",
+ "10.23.0",
+ "10.24.0",
+ "10.25.0",
+ "10.26.0",
+ "11.0.0",
+ "12.0.0",
+ "14.0.0",
+ "14.1.0",
+ "15.0.0",
+ "15.0.1",
+ "15.1.0"
+ ],
+ "stable-version": "15.1.0"
+ },
+ {
+ "package-name": "apache-airflow-providers-grpc",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "1.1.0",
+ "2.0.0",
+ "2.0.1",
+ "2.0.2",
+ "2.0.3",
+ "2.0.4",
+ "3.0.0",
+ "3.1.0",
+ "3.2.0",
+ "3.2.1",
+ "3.2.2",
+ "3.3.0",
+ "3.4.0",
+ "3.4.1",
+ "3.5.0",
+ "3.5.1",
+ "3.5.2",
+ "3.6.0",
+ "3.7.0",
+ "3.7.2",
+ "3.7.3"
+ ],
+ "stable-version": "3.7.3"
+ },
+ {
+ "package-name": "apache-airflow-providers-hashicorp",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "1.0.2",
+ "2.0.0",
+ "2.1.1",
+ "2.1.2",
+ "2.1.3",
+ "2.1.4",
+ "2.2.0",
+ "3.0.0",
+ "3.0.1",
+ "3.1.0",
+ "3.2.0",
+ "3.3.0",
+ "3.3.1",
+ "3.4.0",
+ "3.4.1",
+ "3.4.2",
+ "3.4.3",
+ "3.5.0",
+ "3.6.0",
+ "3.6.1",
+ "3.6.2",
+ "3.6.3",
+ "3.6.4",
+ "3.7.0",
+ "3.7.1",
+ "3.8.0",
+ "4.0.0",
+ "4.1.0",
+ "4.1.1"
+ ],
+ "stable-version": "4.1.1"
+ },
+ {
+ "package-name": "apache-airflow-providers-http",
+ "all-versions": [
+ "1.0.0",
+ "1.1.0",
+ "1.1.1",
+ "2.0.0",
+ "2.0.1",
+ "2.0.2",
+ "2.0.3",
+ "2.1.0",
+ "2.1.1",
+ "2.1.2",
+ "3.0.0",
+ "4.0.0",
+ "4.1.0",
+ "4.1.1",
+ "4.2.0",
+ "4.3.0",
+ "4.4.0",
+ "4.4.1",
+ "4.4.2",
+ "4.5.0",
+ "4.5.1",
+ "4.5.2",
+ "4.6.0",
+ "4.7.0",
+ "4.8.0",
+ "4.9.0",
+ "4.9.1",
+ "4.10.0",
+ "4.10.1",
+ "4.11.0",
+ "4.11.1",
+ "4.12.0",
+ "4.13.0",
+ "4.13.1",
+ "4.13.2",
+ "4.13.3",
+ "5.0.0",
+ "5.2.0",
+ "5.2.1",
+ "5.2.2"
+ ],
+ "stable-version": "5.2.2"
+ },
+ {
+ "package-name": "apache-airflow-providers-imap",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "2.0.0",
+ "2.0.1",
+ "2.1.0",
+ "2.2.0",
+ "2.2.1",
+ "2.2.2",
+ "2.2.3",
+ "3.0.0",
+ "3.1.0",
+ "3.1.1",
+ "3.2.0",
+ "3.2.1",
+ "3.2.2",
+ "3.3.0",
+ "3.3.1",
+ "3.3.2",
+ "3.4.0",
+ "3.5.0",
+ "3.6.0",
+ "3.6.1",
+ "3.7.0",
+ "3.8.0",
+ "3.8.2",
+ "3.8.3"
+ ],
+ "stable-version": "3.8.3"
+ },
+ {
+ "package-name": "apache-airflow-providers-influxdb",
+ "all-versions": [
+ "1.0.0",
+ "1.1.0",
+ "1.1.1",
+ "1.1.2",
+ "1.1.3",
+ "2.0.0",
+ "2.1.0",
+ "2.2.0",
+ "2.2.1",
+ "2.2.2",
+ "2.2.3",
+ "2.3.0",
+ "2.4.0",
+ "2.4.1",
+ "2.5.0",
+ "2.5.1",
+ "2.6.0",
+ "2.7.0",
+ "2.7.1",
+ "2.8.0",
+ "2.8.2",
+ "2.8.3"
+ ],
+ "stable-version": "2.8.3"
+ },
+ {
+ "package-name": "apache-airflow-providers-jdbc",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "2.0.0",
+ "2.0.1",
+ "2.1.0",
+ "2.1.1",
+ "2.1.2",
+ "2.1.3",
+ "3.0.0",
+ "3.1.0",
+ "3.2.0",
+ "3.2.1",
+ "3.3.0",
+ "3.4.0",
+ "4.0.0",
+ "4.0.1",
+ "4.0.2",
+ "4.1.0",
+ "4.2.0",
+ "4.2.1",
+ "4.2.2",
+ "4.3.0",
+ "4.3.1",
+ "4.4.0",
+ "4.5.0",
+ "4.5.1",
+ "4.5.2",
+ "4.5.3",
+ "5.0.0",
+ "5.0.1",
+ "5.1.0"
+ ],
+ "stable-version": "5.1.0"
+ },
+ {
+ "package-name": "apache-airflow-providers-jenkins",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "1.1.0",
+ "2.0.0",
+ "2.0.1",
+ "2.0.2",
+ "2.0.3",
+ "2.0.4",
+ "2.0.5",
+ "2.0.6",
+ "2.0.7",
+ "2.1.0",
+ "3.0.0",
+ "3.1.0",
+ "3.2.0",
+ "3.2.1",
+ "3.3.0",
+ "3.3.1",
+ "3.3.2",
+ "3.4.0",
+ "3.5.0",
+ "3.5.1",
+ "3.6.0",
+ "3.6.1",
+ "3.7.0",
+ "3.7.1",
+ "3.7.2",
+ "4.0.0",
+ "4.0.2",
+ "4.0.3",
+ "4.0.4"
+ ],
+ "stable-version": "4.0.4"
+ },
+ {
+ "package-name": "apache-airflow-providers-jira",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "1.0.2",
+ "2.0.0",
+ "2.0.1",
+ "2.0.2",
+ "2.0.3",
+ "2.0.4",
+ "2.0.5",
+ "3.0.0",
+ "3.0.1",
+ "3.1.0"
+ ],
+ "stable-version": "3.1.0"
+ },
+ {
+ "package-name": "apache-airflow-providers-microsoft-azure",
+ "all-versions": [
+ "1.0.0",
+ "1.1.0",
+ "1.2.0",
+ "1.3.0",
+ "2.0.0",
+ "3.0.0",
+ "3.1.0",
+ "3.1.1",
+ "3.2.0",
+ "3.3.0",
+ "3.4.0",
+ "3.5.0",
+ "3.6.0",
+ "3.7.0",
+ "3.7.1",
+ "3.7.2",
+ "3.8.0",
+ "3.9.0",
+ "4.0.0",
+ "4.1.0",
+ "4.2.0",
+ "4.3.0",
+ "5.0.0",
+ "5.0.1",
+ "5.0.2",
+ "5.1.0",
+ "5.2.0",
+ "5.2.1",
+ "5.3.0",
+ "5.3.1",
+ "6.0.0",
+ "6.1.0",
+ "6.1.1",
+ "6.1.2",
+ "6.2.0",
+ "6.2.1",
+ "6.2.2",
+ "6.2.3",
+ "6.2.4",
+ "6.3.0",
+ "7.0.0",
+ "8.0.0",
+ "8.1.0",
+ "8.2.0",
+ "8.3.0",
+ "8.4.0",
+ "8.5.0",
+ "8.5.1",
+ "9.0.0",
+ "9.0.1",
+ "10.0.0",
+ "10.1.0",
+ "10.1.1",
+ "10.1.2",
+ "10.2.0",
+ "10.3.0",
+ "10.4.0",
+ "10.5.0",
+ "10.5.1",
+ "11.0.0",
+ "11.1.0",
+ "12.0.0",
+ "12.2.0",
+ "12.2.1",
+ "12.2.2",
+ "12.3.0",
+ "12.3.1"
+ ],
+ "stable-version": "12.3.1"
+ },
+ {
+ "package-name": "apache-airflow-providers-microsoft-mssql",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "1.1.0",
+ "2.0.0",
+ "2.0.1",
+ "2.1.0",
+ "2.1.1",
+ "2.1.2",
+ "2.1.3",
+ "3.0.0",
+ "3.1.0",
+ "3.2.0",
+ "3.2.1",
+ "3.3.0",
+ "3.3.1",
+ "3.3.2",
+ "3.4.0",
+ "3.4.1",
+ "3.4.2",
+ "3.5.0",
+ "3.6.0",
+ "3.6.1",
+ "3.7.0",
+ "3.7.1",
+ "3.7.2",
+ "3.8.0",
+ "3.9.0",
+ "3.9.1",
+ "3.9.2",
+ "4.0.0",
+ "4.2.0",
+ "4.2.1",
+ "4.2.2"
+ ],
+ "stable-version": "4.2.2"
+ },
+ {
+ "package-name": "apache-airflow-providers-microsoft-psrp",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "1.1.0",
+ "1.1.1",
+ "1.1.2",
+ "1.1.3",
+ "1.1.4",
+ "2.0.0",
+ "2.1.0",
+ "2.2.0",
+ "2.3.0",
+ "2.3.1",
+ "2.3.2",
+ "2.4.0",
+ "2.5.0",
+ "2.6.0",
+ "2.6.1",
+ "2.7.0",
+ "2.7.1",
+ "2.8.0",
+ "3.0.0",
+ "3.0.1"
+ ],
+ "stable-version": "3.0.1"
+ },
+ {
+ "package-name": "apache-airflow-providers-microsoft-winrm",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "1.1.0",
+ "1.2.0",
+ "2.0.0",
+ "2.0.1",
+ "2.0.2",
+ "2.0.3",
+ "2.0.4",
+ "2.0.5",
+ "3.0.0",
+ "3.1.0",
+ "3.1.1",
+ "3.2.0",
+ "3.2.1",
+ "3.2.2",
+ "3.3.0",
+ "3.4.0",
+ "3.5.0",
+ "3.5.1",
+ "3.6.0",
+ "3.6.1",
+ "3.7.0",
+ "3.9.0",
+ "3.9.1",
+ "3.9.2"
+ ],
+ "stable-version": "3.9.2"
+ },
+ {
+ "package-name": "apache-airflow-providers-mongo",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "2.0.0",
+ "2.1.0",
+ "2.2.0",
+ "2.3.0",
+ "2.3.1",
+ "2.3.2",
+ "2.3.3",
+ "3.0.0",
+ "3.1.0",
+ "3.1.1",
+ "3.2.0",
+ "3.2.1",
+ "3.2.2",
+ "3.3.0",
+ "3.4.0",
+ "3.5.0",
+ "3.6.0",
+ "4.0.0",
+ "4.1.0",
+ "4.1.1",
+ "4.1.2",
+ "4.2.0",
+ "4.2.1",
+ "4.2.2",
+ "5.0.0",
+ "5.0.1",
+ "5.0.2",
+ "5.0.3"
+ ],
+ "stable-version": "5.0.3"
+ },
+ {
+ "package-name": "apache-airflow-providers-mysql",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "1.0.2",
+ "1.1.0",
+ "2.0.0",
+ "2.1.0",
+ "2.1.1",
+ "2.2.0",
+ "2.2.1",
+ "2.2.2",
+ "2.2.3",
+ "3.0.0",
+ "3.1.0",
+ "3.2.0",
+ "3.2.1",
+ "3.3.0",
+ "3.4.0",
+ "4.0.0",
+ "4.0.1",
+ "4.0.2",
+ "5.0.0",
+ "5.1.0",
+ "5.1.1",
+ "5.2.0",
+ "5.2.1",
+ "5.3.0",
+ "5.3.1",
+ "5.4.0",
+ "5.5.0",
+ "5.5.1",
+ "5.5.2",
+ "5.5.3",
+ "5.5.4",
+ "5.6.0",
+ "5.6.1",
+ "5.6.2",
+ "5.6.3",
+ "5.7.0",
+ "5.7.1",
+ "5.7.2",
+ "5.7.3",
+ "5.7.4",
+ "6.0.0",
+ "6.1.0",
+ "6.2.0",
+ "6.2.1",
+ "6.2.2"
+ ],
+ "stable-version": "6.2.2"
+ },
+ {
+ "package-name": "apache-airflow-providers-neo4j",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "2.0.0",
+ "2.0.1",
+ "2.0.2",
+ "2.1.0",
+ "2.1.1",
+ "2.1.2",
+ "2.1.3",
+ "3.0.0",
+ "3.1.0",
+ "3.2.0",
+ "3.2.1",
+ "3.3.0",
+ "3.3.1",
+ "3.3.2",
+ "3.3.3",
+ "3.4.0",
+ "3.5.0",
+ "3.6.0",
+ "3.6.1",
+ "3.7.0",
+ "3.8.0",
+ "3.8.1",
+ "3.8.2"
+ ],
+ "stable-version": "3.8.2"
+ },
+ {
+ "package-name": "apache-airflow-providers-odbc",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "2.0.0",
+ "2.0.1",
+ "2.0.2",
+ "2.0.3",
+ "2.0.4",
+ "3.0.0",
+ "3.1.0",
+ "3.1.1",
+ "3.1.2",
+ "3.2.0",
+ "3.2.1",
+ "3.3.0",
+ "4.0.0",
+ "4.1.0",
+ "4.2.0",
+ "4.3.0",
+ "4.4.0",
+ "4.4.1",
+ "4.5.0",
+ "4.6.0",
+ "4.6.1",
+ "4.6.2",
+ "4.6.3",
+ "4.7.0",
+ "4.7.1",
+ "4.8.0",
+ "4.8.1",
+ "4.9.0",
+ "4.9.1",
+ "4.9.2"
+ ],
+ "stable-version": "4.9.2"
+ },
+ {
+ "package-name": "apache-airflow-providers-openai",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "1.1.0",
+ "1.2.0",
+ "1.2.1",
+ "1.2.2",
+ "1.3.0",
+ "1.4.0",
+ "1.5.0",
+ "1.5.1",
+ "1.5.2",
+ "1.5.3",
+ "1.5.4"
+ ],
+ "stable-version": "1.5.4"
+ },
+ {
+ "package-name": "apache-airflow-providers-openfaas",
+ "all-versions": [
+ "1.0.0",
+ "1.1.0",
+ "1.1.1",
+ "2.0.0",
+ "2.0.1",
+ "2.0.2",
+ "2.0.3",
+ "3.0.0",
+ "3.1.0",
+ "3.2.0",
+ "3.2.1",
+ "3.3.0",
+ "3.4.0",
+ "3.5.0",
+ "3.5.1",
+ "3.6.0",
+ "3.7.0",
+ "3.7.1",
+ "3.7.2"
+ ],
+ "stable-version": "3.7.2"
+ },
+ {
+ "package-name": "apache-airflow-providers-openlineage",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "1.0.2",
+ "1.1.0",
+ "1.1.1",
+ "1.2.0",
+ "1.2.1",
+ "1.3.0",
+ "1.3.1",
+ "1.4.0",
+ "1.5.0",
+ "1.6.0",
+ "1.7.0",
+ "1.7.1",
+ "1.8.0",
+ "1.9.0",
+ "1.9.1",
+ "1.10.0",
+ "1.11.0",
+ "1.12.0",
+ "1.12.1",
+ "1.12.2",
+ "1.13.0",
+ "1.14.0",
+ "2.0.0",
+ "2.1.0",
+ "2.1.1",
+ "2.1.2",
+ "2.1.3",
+ "2.2.0"
+ ],
+ "stable-version": "2.2.0"
+ },
+ {
+ "package-name": "apache-airflow-providers-opensearch",
+ "all-versions": [
+ "1.0.0",
+ "1.1.0",
+ "1.1.1",
+ "1.1.2",
+ "1.2.0",
+ "1.2.1",
+ "1.3.0",
+ "1.4.0",
+ "1.5.0",
+ "1.6.0",
+ "1.6.1",
+ "1.6.2",
+ "1.6.3"
+ ],
+ "stable-version": "1.6.3"
+ },
+ {
+ "package-name": "apache-airflow-providers-opsgenie",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "1.0.2",
+ "2.0.0",
+ "2.0.1",
+ "3.0.0",
+ "3.0.1",
+ "3.0.2",
+ "3.0.3",
+ "3.1.0",
+ "4.0.0",
+ "5.0.0",
+ "5.1.0",
+ "5.1.1",
+ "5.2.0",
+ "5.3.0",
+ "5.4.0",
+ "5.5.0",
+ "5.6.0",
+ "5.6.1",
+ "5.7.0",
+ "5.8.0",
+ "5.8.1",
+ "5.8.2",
+ "5.8.3"
+ ],
+ "stable-version": "5.8.3"
+ },
+ {
+ "package-name": "apache-airflow-providers-oracle",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "1.1.0",
+ "2.0.0",
+ "2.0.1",
+ "2.1.0",
+ "2.2.0",
+ "2.2.1",
+ "2.2.2",
+ "2.2.3",
+ "3.0.0",
+ "3.1.0",
+ "3.2.0",
+ "3.3.0",
+ "3.4.0",
+ "3.5.0",
+ "3.5.1",
+ "3.6.0",
+ "3.7.0",
+ "3.7.1",
+ "3.7.2",
+ "3.7.3",
+ "3.7.4",
+ "3.8.0",
+ "3.9.0",
+ "3.9.1",
+ "3.9.2",
+ "3.10.0",
+ "3.10.1",
+ "3.10.2",
+ "3.10.3",
+ "3.11.0",
+ "3.12.0",
+ "3.12.1",
+ "4.0.0",
+ "4.0.1",
+ "4.0.2",
+ "4.0.3"
+ ],
+ "stable-version": "4.0.3"
+ },
+ {
+ "package-name": "apache-airflow-providers-pagerduty",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "2.0.0",
+ "2.0.1",
+ "2.1.0",
+ "2.1.1",
+ "2.1.2",
+ "2.1.3",
+ "3.0.0",
+ "3.1.0",
+ "3.2.0",
+ "3.3.0",
+ "3.3.1",
+ "3.4.0",
+ "3.5.0",
+ "3.5.1",
+ "3.6.0",
+ "3.6.1",
+ "3.6.2",
+ "3.7.0",
+ "3.7.1",
+ "3.7.2",
+ "3.8.0",
+ "3.8.1",
+ "4.0.0",
+ "4.0.1",
+ "4.0.2",
+ "4.0.3"
+ ],
+ "stable-version": "4.0.3"
+ },
+ {
+ "package-name": "apache-airflow-providers-papermill",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "1.0.2",
+ "2.0.0",
+ "2.0.1",
+ "2.1.0",
+ "2.2.0",
+ "2.2.1",
+ "2.2.2",
+ "2.2.3",
+ "3.0.0",
+ "3.1.0",
+ "3.1.1",
+ "3.2.0",
+ "3.2.1",
+ "3.4.0",
+ "3.5.0",
+ "3.6.0",
+ "3.6.1",
+ "3.6.2",
+ "3.7.0",
+ "3.7.1",
+ "3.7.2",
+ "3.8.0",
+ "3.8.1",
+ "3.8.2",
+ "3.9.0",
+ "3.9.1",
+ "3.9.2",
+ "3.10.0",
+ "3.10.1"
+ ],
+ "stable-version": "3.10.1"
+ },
+ {
+ "package-name": "apache-airflow-providers-pgvector",
+ "all-versions": [
+ "1.0.0",
+ "1.1.0",
+ "1.2.0",
+ "1.2.1",
+ "1.2.2",
+ "1.3.0",
+ "1.4.0",
+ "1.4.1"
+ ],
+ "stable-version": "1.4.1"
+ },
+ {
+ "package-name": "apache-airflow-providers-pinecone",
+ "all-versions": [
+ "1.0.0",
+ "1.1.0",
+ "1.1.1",
+ "1.1.2",
+ "2.0.0",
+ "2.0.1",
+ "2.1.0",
+ "2.1.1",
+ "2.2.0",
+ "2.2.1",
+ "2.2.2"
+ ],
+ "stable-version": "2.2.2"
+ },
+ {
+ "package-name": "apache-airflow-providers-plexus",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "2.0.0",
+ "2.0.1",
+ "2.0.2",
+ "2.0.3",
+ "2.0.4",
+ "3.0.0",
+ "3.1.0",
+ "3.2.0",
+ "3.2.1",
+ "3.2.2",
+ "3.3.0",
+ "3.4.0",
+ "3.4.1"
+ ],
+ "stable-version": "3.4.1"
+ },
+ {
+ "package-name": "apache-airflow-providers-postgres",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "1.0.2",
+ "2.0.0",
+ "2.1.0",
+ "2.2.0",
+ "2.3.0",
+ "2.4.0",
+ "3.0.0",
+ "4.0.0",
+ "4.0.1",
+ "4.1.0",
+ "5.0.0",
+ "5.1.0",
+ "5.2.0",
+ "5.2.1",
+ "5.2.2",
+ "5.3.0",
+ "5.3.1",
+ "5.4.0",
+ "5.5.0",
+ "5.5.1",
+ "5.5.2",
+ "5.6.0",
+ "5.6.1",
+ "5.7.0",
+ "5.7.1",
+ "5.8.0",
+ "5.9.0",
+ "5.10.0",
+ "5.10.1",
+ "5.10.2",
+ "5.11.0",
+ "5.11.1",
+ "5.11.2",
+ "5.11.3",
+ "5.12.0",
+ "5.13.0",
+ "5.13.1",
+ "5.14.0",
+ "6.0.0",
+ "6.1.0",
+ "6.1.1",
+ "6.1.2",
+ "6.1.3"
+ ],
+ "stable-version": "6.1.3"
+ },
+ {
+ "package-name": "apache-airflow-providers-presto",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "1.0.2",
+ "2.0.0",
+ "2.0.1",
+ "2.1.0",
+ "2.1.1",
+ "2.1.2",
+ "2.2.0",
+ "2.2.1",
+ "3.0.0",
+ "3.1.0",
+ "4.0.0",
+ "4.0.1",
+ "4.1.0",
+ "4.2.0",
+ "4.2.1",
+ "4.2.2",
+ "5.0.0",
+ "5.1.0",
+ "5.1.1",
+ "5.1.2",
+ "5.1.3",
+ "5.1.4",
+ "5.2.0",
+ "5.2.1",
+ "5.3.0",
+ "5.4.0",
+ "5.4.1",
+ "5.4.2",
+ "5.5.0",
+ "5.5.1",
+ "5.5.2",
+ "5.6.0",
+ "5.7.0",
+ "5.8.0",
+ "5.8.1",
+ "5.8.2",
+ "5.8.3",
+ "5.8.4"
+ ],
+ "stable-version": "5.8.4"
+ },
+ {
+ "package-name": "apache-airflow-providers-qdrant",
+ "all-versions": [
+ "1.0.0",
+ "1.1.0",
+ "1.1.1",
+ "1.1.2",
+ "1.2.0",
+ "1.3.0",
+ "1.3.1",
+ "1.3.2"
+ ],
+ "stable-version": "1.3.2"
+ },
+ {
+ "package-name": "apache-airflow-providers-qubole",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "1.0.2",
+ "2.0.0",
+ "2.0.1",
+ "2.1.0",
+ "2.1.1",
+ "2.1.2",
+ "2.1.3",
+ "3.0.0",
+ "3.1.0",
+ "3.2.0",
+ "3.2.1",
+ "3.3.0",
+ "3.3.1",
+ "3.4.0",
+ "3.4.1",
+ "3.4.2",
+ "3.4.3"
+ ],
+ "stable-version": "3.4.3"
+ },
+ {
+ "package-name": "apache-airflow-providers-redis",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "2.0.0",
+ "2.0.1",
+ "2.0.2",
+ "2.0.3",
+ "2.0.4",
+ "3.0.0",
+ "3.1.0",
+ "3.2.0",
+ "3.2.1",
+ "3.3.0",
+ "3.3.1",
+ "3.3.2",
+ "3.4.0",
+ "3.4.1",
+ "3.5.0",
+ "3.6.0",
+ "3.6.1",
+ "3.7.0",
+ "3.7.1",
+ "3.8.0",
+ "4.0.0",
+ "4.0.1",
+ "4.0.2"
+ ],
+ "stable-version": "4.0.2"
+ },
+ {
+ "package-name": "apache-airflow-providers-salesforce",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "2.0.0",
+ "3.0.0",
+ "3.1.0",
+ "3.2.0",
+ "3.3.0",
+ "3.4.0",
+ "3.4.1",
+ "3.4.2",
+ "3.4.3",
+ "3.4.4",
+ "4.0.0",
+ "5.0.0",
+ "5.1.0",
+ "5.2.0",
+ "5.3.0",
+ "5.4.0",
+ "5.4.1",
+ "5.4.2",
+ "5.4.3",
+ "5.5.0",
+ "5.5.1",
+ "5.6.0",
+ "5.6.1",
+ "5.6.2",
+ "5.6.3",
+ "5.7.0",
+ "5.7.1",
+ "5.7.2",
+ "5.8.0",
+ "5.9.0",
+ "5.10.0",
+ "5.10.1"
+ ],
+ "stable-version": "5.10.1"
+ },
+ {
+ "package-name": "apache-airflow-providers-samba",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "2.0.0",
+ "3.0.0",
+ "3.0.1",
+ "3.0.2",
+ "3.0.3",
+ "3.0.4",
+ "4.0.0",
+ "4.1.0",
+ "4.2.0",
+ "4.2.1",
+ "4.2.2",
+ "4.3.0",
+ "4.4.0",
+ "4.5.0",
+ "4.6.0",
+ "4.7.0",
+ "4.7.1",
+ "4.8.0",
+ "4.9.0",
+ "4.9.1",
+ "4.9.2"
+ ],
+ "stable-version": "4.9.2"
+ },
+ {
+ "package-name": "apache-airflow-providers-segment",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "2.0.0",
+ "2.0.1",
+ "2.0.2",
+ "2.0.3",
+ "2.0.4",
+ "3.0.0",
+ "3.1.0",
+ "3.2.0",
+ "3.2.1",
+ "3.3.0",
+ "3.4.0",
+ "3.5.0",
+ "3.5.1",
+ "3.6.0",
+ "3.7.0",
+ "3.7.1",
+ "3.7.2"
+ ],
+ "stable-version": "3.7.2"
+ },
+ {
+ "package-name": "apache-airflow-providers-sendgrid",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "1.0.2",
+ "2.0.0",
+ "2.0.1",
+ "2.0.2",
+ "2.0.3",
+ "2.0.4",
+ "3.0.0",
+ "3.1.0",
+ "3.2.0",
+ "3.2.1",
+ "3.2.2",
+ "3.3.0",
+ "3.4.0",
+ "3.5.0",
+ "3.5.1",
+ "3.6.0",
+ "4.0.0",
+ "4.0.1"
+ ],
+ "stable-version": "4.0.1"
+ },
+ {
+ "package-name": "apache-airflow-providers-sftp",
+ "all-versions": [
+ "1.0.0",
+ "1.1.0",
+ "1.1.1",
+ "1.2.0",
+ "2.0.0",
+ "2.1.0",
+ "2.1.1",
+ "2.2.0",
+ "2.3.0",
+ "2.4.0",
+ "2.4.1",
+ "2.5.0",
+ "2.5.1",
+ "2.5.2",
+ "2.6.0",
+ "3.0.0",
+ "4.0.0",
+ "4.1.0",
+ "4.2.0",
+ "4.2.1",
+ "4.2.2",
+ "4.2.3",
+ "4.2.4",
+ "4.3.0",
+ "4.3.1",
+ "4.4.0",
+ "4.5.0",
+ "4.6.0",
+ "4.6.1",
+ "4.7.0",
+ "4.8.0",
+ "4.8.1",
+ "4.9.0",
+ "4.9.1",
+ "4.10.0",
+ "4.10.1",
+ "4.10.2",
+ "4.10.3",
+ "4.11.0",
+ "4.11.1",
+ "5.0.0",
+ "5.1.0",
+ "5.1.1",
+ "5.1.2",
+ "5.2.0",
+ "5.2.1"
+ ],
+ "stable-version": "5.2.1"
+ },
+ {
+ "package-name": "apache-airflow-providers-singularity",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "1.1.0",
+ "2.0.0",
+ "2.0.1",
+ "2.0.2",
+ "2.0.3",
+ "2.0.4",
+ "3.0.0",
+ "3.1.0",
+ "3.2.0",
+ "3.2.1",
+ "3.2.2",
+ "3.3.0",
+ "3.4.0",
+ "3.5.0",
+ "3.5.1",
+ "3.6.0",
+ "3.7.0",
+ "3.7.1"
+ ],
+ "stable-version": "3.7.1"
+ },
+ {
+ "package-name": "apache-airflow-providers-slack",
+ "all-versions": [
+ "1.0.0",
+ "2.0.0",
+ "3.0.0",
+ "4.0.0",
+ "4.0.1",
+ "4.1.0",
+ "4.2.0",
+ "4.2.1",
+ "4.2.2",
+ "4.2.3",
+ "5.0.0",
+ "5.1.0",
+ "6.0.0",
+ "7.0.0",
+ "7.1.0",
+ "7.1.1",
+ "7.2.0",
+ "7.3.0",
+ "7.3.1",
+ "7.3.2",
+ "8.0.0",
+ "8.1.0",
+ "8.2.0",
+ "8.3.0",
+ "8.4.0",
+ "8.5.0",
+ "8.5.1",
+ "8.6.0",
+ "8.6.1",
+ "8.6.2",
+ "8.7.0",
+ "8.7.1",
+ "8.8.0",
+ "8.9.0",
+ "8.9.1",
+ "8.9.2",
+ "9.0.0",
+ "9.0.1",
+ "9.0.2",
+ "9.0.3",
+ "9.0.4",
+ "9.0.5"
+ ],
+ "stable-version": "9.0.5"
+ },
+ {
+ "package-name": "apache-airflow-providers-smtp",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "1.1.0",
+ "1.2.0",
+ "1.3.0",
+ "1.3.1",
+ "1.3.2",
+ "1.4.0",
+ "1.4.1",
+ "1.5.0",
+ "1.6.0",
+ "1.6.1",
+ "1.7.0",
+ "1.7.1",
+ "1.8.0",
+ "1.8.1",
+ "1.9.0",
+ "2.0.0",
+ "2.0.1",
+ "2.0.2",
+ "2.0.3"
+ ],
+ "stable-version": "2.0.3"
+ },
+ {
+ "package-name": "apache-airflow-providers-snowflake",
+ "all-versions": [
+ "1.0.0",
+ "1.1.0",
+ "1.1.1",
+ "1.2.0",
+ "1.3.0",
+ "2.0.0",
+ "2.1.0",
+ "2.1.1",
+ "2.2.0",
+ "2.3.0",
+ "2.3.1",
+ "2.4.0",
+ "2.5.0",
+ "2.5.1",
+ "2.5.2",
+ "2.6.0",
+ "2.7.0",
+ "3.0.0",
+ "3.1.0",
+ "3.2.0",
+ "3.3.0",
+ "4.0.0",
+ "4.0.1",
+ "4.0.2",
+ "4.0.3",
+ "4.0.4",
+ "4.0.5",
+ "4.1.0",
+ "4.2.0",
+ "4.3.0",
+ "4.3.1",
+ "4.4.0",
+ "4.4.1",
+ "4.4.2",
+ "5.0.0",
+ "5.0.1",
+ "5.1.0",
+ "5.1.1",
+ "5.1.2",
+ "5.2.0",
+ "5.2.1",
+ "5.3.0",
+ "5.3.1",
+ "5.4.0",
+ "5.5.0",
+ "5.5.1",
+ "5.5.2",
+ "5.6.0",
+ "5.6.1",
+ "5.7.0",
+ "5.7.1",
+ "5.8.0",
+ "5.8.1",
+ "6.0.0",
+ "6.1.0",
+ "6.1.1",
+ "6.2.0",
+ "6.2.1",
+ "6.2.2",
+ "6.3.0"
+ ],
+ "stable-version": "6.3.0"
+ },
+ {
+ "package-name": "apache-airflow-providers-sqlite",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "1.0.2",
+ "2.0.0",
+ "2.0.1",
+ "2.1.0",
+ "2.1.1",
+ "2.1.2",
+ "2.1.3",
+ "3.0.0",
+ "3.1.0",
+ "3.2.0",
+ "3.2.1",
+ "3.3.0",
+ "3.3.1",
+ "3.3.2",
+ "3.4.0",
+ "3.4.1",
+ "3.4.2",
+ "3.4.3",
+ "3.5.0",
+ "3.6.0",
+ "3.7.0",
+ "3.7.1",
+ "3.8.0",
+ "3.8.1",
+ "3.8.2",
+ "3.9.0",
+ "3.9.1",
+ "4.0.0",
+ "4.0.1",
+ "4.0.2"
+ ],
+ "stable-version": "4.0.2"
+ },
+ {
+ "package-name": "apache-airflow-providers-ssh",
+ "all-versions": [
+ "1.0.0",
+ "1.1.0",
+ "1.2.0",
+ "1.3.0",
+ "2.0.0",
+ "2.1.0",
+ "2.1.1",
+ "2.2.0",
+ "2.3.0",
+ "2.4.0",
+ "2.4.1",
+ "2.4.2",
+ "2.4.3",
+ "2.4.4",
+ "3.0.0",
+ "3.1.0",
+ "3.2.0",
+ "3.3.0",
+ "3.4.0",
+ "3.5.0",
+ "3.6.0",
+ "3.7.0",
+ "3.7.1",
+ "3.7.2",
+ "3.7.3",
+ "3.8.0",
+ "3.8.1",
+ "3.9.0",
+ "3.10.0",
+ "3.10.1",
+ "3.11.0",
+ "3.11.1",
+ "3.11.2",
+ "3.12.0",
+ "3.13.0",
+ "3.13.1",
+ "3.14.0",
+ "4.0.0",
+ "4.0.1"
+ ],
+ "stable-version": "4.0.1"
+ },
+ {
+ "package-name": "apache-airflow-providers-standard",
+ "all-versions": [
+ "0.0.1",
+ "0.0.2",
+ "0.0.3",
+ "0.1.0",
+ "0.1.1",
+ "0.2.0",
+ "0.3.0",
+ "0.4.0",
+ "1.0.0",
+ "1.1.0"
+ ],
+ "stable-version": "1.1.0"
+ },
+ {
+ "package-name": "apache-airflow-providers-tableau",
+ "all-versions": [
+ "1.0.0",
+ "2.0.0",
+ "2.1.0",
+ "2.1.1",
+ "2.1.2",
+ "2.1.3",
+ "2.1.4",
+ "2.1.5",
+ "2.1.6",
+ "2.1.7",
+ "2.1.8",
+ "3.0.0",
+ "3.0.1",
+ "4.0.0",
+ "4.1.0",
+ "4.2.0",
+ "4.2.1",
+ "4.2.2",
+ "4.3.0",
+ "4.4.0",
+ "4.4.1",
+ "4.4.2",
+ "4.5.0",
+ "4.5.1",
+ "4.5.2",
+ "4.6.0",
+ "4.6.1",
+ "5.0.0",
+ "5.0.1",
+ "5.0.2"
+ ],
+ "stable-version": "5.0.2"
+ },
+ {
+ "package-name": "apache-airflow-providers-tabular",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "1.1.0",
+ "1.2.0",
+ "1.2.1",
+ "1.3.0",
+ "1.4.0",
+ "1.4.1",
+ "1.5.0",
+ "1.5.1",
+ "1.6.1"
+ ],
+ "stable-version": "1.6.1"
+ },
+ {
+ "package-name": "apache-airflow-providers-telegram",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "1.0.2",
+ "2.0.0",
+ "2.0.1",
+ "2.0.2",
+ "2.0.3",
+ "2.0.4",
+ "3.0.0",
+ "3.1.0",
+ "3.1.1",
+ "4.0.0",
+ "4.1.0",
+ "4.1.1",
+ "4.2.0",
+ "4.3.0",
+ "4.3.1",
+ "4.4.0",
+ "4.5.0",
+ "4.5.1",
+ "4.5.2",
+ "4.6.0",
+ "4.7.0",
+ "4.7.1",
+ "4.7.2"
+ ],
+ "stable-version": "4.7.2"
+ },
+ {
+ "package-name": "apache-airflow-providers-teradata",
+ "all-versions": [
+ "2.0.0",
+ "2.1.0",
+ "2.1.1",
+ "2.2.0",
+ "2.3.0",
+ "2.4.0",
+ "2.5.0",
+ "2.6.0",
+ "2.6.1",
+ "3.0.0",
+ "3.0.1",
+ "3.0.2",
+ "3.0.3"
+ ],
+ "stable-version": "3.0.3"
+ },
+ {
+ "package-name": "apache-airflow-providers-trino",
+ "all-versions": [
+ "1.0.0",
+ "2.0.0",
+ "2.0.1",
+ "2.0.2",
+ "2.1.0",
+ "2.1.1",
+ "2.1.2",
+ "2.2.0",
+ "2.3.0",
+ "3.0.0",
+ "3.1.0",
+ "4.0.0",
+ "4.0.1",
+ "4.1.0",
+ "4.2.0",
+ "4.3.0",
+ "4.3.1",
+ "4.3.2",
+ "5.0.0",
+ "5.1.0",
+ "5.1.1",
+ "5.2.0",
+ "5.2.1",
+ "5.3.0",
+ "5.3.1",
+ "5.4.0",
+ "5.4.1",
+ "5.5.0",
+ "5.6.0",
+ "5.6.1",
+ "5.6.2",
+ "5.6.3",
+ "5.7.0",
+ "5.7.1",
+ "5.7.2",
+ "5.8.0",
+ "5.8.1",
+ "5.9.0",
+ "6.0.0",
+ "6.0.1",
+ "6.1.0",
+ "6.1.1",
+ "6.1.2"
+ ],
+ "stable-version": "6.1.2"
+ },
+ {
+ "package-name": "apache-airflow-providers-vertica",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "2.0.0",
+ "2.0.1",
+ "2.1.0",
+ "2.1.1",
+ "2.1.2",
+ "2.1.3",
+ "3.0.0",
+ "3.1.0",
+ "3.2.0",
+ "3.2.1",
+ "3.3.0",
+ "3.3.1",
+ "3.4.0",
+ "3.4.1",
+ "3.5.0",
+ "3.5.1",
+ "3.5.2",
+ "3.6.0",
+ "3.7.0",
+ "3.7.1",
+ "3.8.0",
+ "3.8.1",
+ "3.8.2",
+ "3.9.0",
+ "3.9.1",
+ "4.0.0",
+ "4.0.1"
+ ],
+ "stable-version": "4.0.1"
+ },
+ {
+ "package-name": "apache-airflow-providers-weaviate",
+ "all-versions": [
+ "1.0.0",
+ "1.1.0",
+ "1.2.0",
+ "1.3.0",
+ "1.3.1",
+ "1.3.2",
+ "1.3.3",
+ "1.3.4",
+ "1.4.0",
+ "1.4.1",
+ "1.4.2",
+ "2.0.0",
+ "2.1.0",
+ "3.0.0",
+ "3.0.1",
+ "3.0.2",
+ "3.0.3"
+ ],
+ "stable-version": "3.0.3"
+ },
+ {
+ "package-name": "apache-airflow-providers-yandex",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "2.0.0",
+ "2.1.0",
+ "2.2.0",
+ "2.2.1",
+ "2.2.2",
+ "2.2.3",
+ "3.0.0",
+ "3.1.0",
+ "3.2.0",
+ "3.3.0",
+ "3.4.0",
+ "3.5.0",
+ "3.6.0",
+ "3.7.0",
+ "3.7.1",
+ "3.8.0",
+ "3.9.0",
+ "3.10.0",
+ "3.11.0",
+ "3.11.1",
+ "3.11.2",
+ "3.12.0",
+ "4.0.0",
+ "4.0.1",
+ "4.0.2",
+ "4.0.3"
+ ],
+ "stable-version": "4.0.3"
+ },
+ {
+ "package-name": "apache-airflow-providers-ydb",
+ "all-versions": [
+ "1.0.0",
+ "1.1.0",
+ "1.2.0",
+ "1.3.0",
+ "1.4.0",
+ "2.0.0",
+ "2.1.0",
+ "2.1.1"
+ ],
+ "stable-version": "2.1.1"
+ },
+ {
+ "package-name": "apache-airflow-providers-zendesk",
+ "all-versions": [
+ "1.0.0",
+ "1.0.1",
+ "2.0.0",
+ "2.0.1",
+ "3.0.0",
+ "3.0.1",
+ "3.0.2",
+ "3.0.3",
+ "4.0.0",
+ "4.1.0",
+ "4.2.0",
+ "4.3.0",
+ "4.3.1",
+ "4.3.2",
+ "4.4.0",
+ "4.5.0",
+ "4.6.0",
+ "4.7.0",
+ "4.7.1",
+ "4.8.0",
+ "4.9.0",
+ "4.9.1"
+ ],
+ "stable-version": "4.9.1"
+ },
+ {
+ "package-name": "apache-airflow",
+ "all-versions": [
+ "1.10.1",
+ "1.10.2",
+ "1.10.3",
+ "1.10.4",
+ "1.10.5",
+ "1.10.6",
+ "1.10.7",
+ "1.10.8",
+ "1.10.9",
+ "1.10.10",
+ "1.10.11",
+ "1.10.12",
+ "1.10.13",
+ "1.10.14",
+ "1.10.15",
+ "2.0.0",
+ "2.0.1",
+ "2.0.2",
+ "2.0.3",
+ "2.1.0",
+ "2.1.1",
+ "2.1.2",
+ "2.1.3",
+ "2.1.4",
+ "2.2.0",
+ "2.2.1",
+ "2.2.2",
+ "2.2.3",
+ "2.2.4",
+ "2.2.5",
+ "2.3.0",
+ "2.3.1",
+ "2.3.2",
+ "2.3.3",
+ "2.3.4",
+ "2.4.0",
+ "2.4.1",
+ "2.4.2",
+ "2.4.3",
+ "2.5.0",
+ "2.5.1",
+ "2.5.2",
+ "2.5.3",
+ "2.6.0",
+ "2.6.1",
+ "2.6.2",
+ "2.6.3",
+ "2.7.0",
+ "2.7.1",
+ "2.7.2",
+ "2.7.3",
+ "2.8.0",
+ "2.8.1",
+ "2.8.2",
+ "2.8.3",
+ "2.8.4",
+ "2.9.0",
+ "2.9.1",
+ "2.9.2",
+ "2.9.3",
+ "2.10.0",
+ "2.10.1",
+ "2.10.2",
+ "2.10.3",
+ "2.10.4",
+ "2.10.5",
+ "3.0.0",
+ "3.0.1"
+ ],
+ "stable-version": "3.0.1"
+ },
+ {
+ "package-name": "helm-chart",
+ "all-versions": [
+ "1.0.0",
+ "1.1.0",
+ "1.2.0",
+ "1.3.0",
+ "1.4.0",
+ "1.5.0",
+ "1.6.0",
+ "1.7.0",
+ "1.8.0",
+ "1.9.0",
+ "1.10.0",
+ "1.11.0",
+ "1.12.0",
+ "1.13.0",
+ "1.13.1",
+ "1.14.0",
+ "1.15.0",
+ "1.16.0"
+ ],
+ "stable-version": "1.16.0"
+ }
+]
\ No newline at end of file
diff --git a/announcements/index.html b/announcements/index.html
new file mode 100644
index 0000000000..4dd7278294
--- /dev/null
+++ b/announcements/index.html
@@ -0,0 +1,1587 @@
+
+
+<!doctype html>
+<html lang="en" class="no-js">
+<head>
+
+
+<meta charset="utf-8">
+<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+<meta name="generator" content="Hugo 0.91.2" />
+
+<META NAME="ROBOTS" CONTENT="INDEX, FOLLOW">
+
+<link rel="alternate" type="application/rss+xml" href="/announcements/index.xml">
+
+
+<link rel="apple-touch-icon" sizes="57x57" href="/favicons/apple-icon-57x57.png">
+<link rel="apple-touch-icon" sizes="60x60" href="/favicons/apple-icon-60x60.png">
+<link rel="apple-touch-icon" sizes="72x72" href="/favicons/apple-icon-72x72.png">
+<link rel="apple-touch-icon" sizes="76x76" href="/favicons/apple-icon-76x76.png">
+<link rel="apple-touch-icon" sizes="114x114" href="/favicons/apple-icon-114x114.png">
+<link rel="apple-touch-icon" sizes="120x120" href="/favicons/apple-icon-120x120.png">
+<link rel="apple-touch-icon" sizes="144x144" href="/favicons/apple-icon-144x144.png">
+<link rel="apple-touch-icon" sizes="152x152" href="/favicons/apple-icon-152x152.png">
+<link rel="apple-touch-icon" sizes="180x180" href="/favicons/apple-icon-180x180.png">
+<link rel="icon" type="image/png" sizes="192x192" href="/favicons/android-icon-192x192.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/favicons/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="96x96" href="/favicons/favicon-96x96.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/favicons/favicon-16x16.png">
+<link rel="manifest" href="/manifest.json">
+<meta name="msapplication-TileColor" content="#ffffff">
+<meta name="msapplication-TileImage" content="/favicons/ms-icon-144x144.png">
+<meta name="theme-color" content="#ffffff">
+
+<title>Announcements | Apache Airflow</title><meta property="og:title" content="Announcements" />
+<meta property="og:description" content="Platform created by the community to programmatically author, schedule and monitor workflows." />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="/announcements/" /><meta property="og:image" content="/images/feature-image.png"/><meta property="og:site_name" content="Apache Airflow" />
+
+<meta itemprop="name" content="Announcements">
+<meta itemprop="description" content="Platform created by the community to programmatically author, schedule and monitor workflows.">
+
+
+
+
+
+
+<link rel="preload" href="/scss/main.min.b17aebabd27496c9901cfab812b30fb885ece0ac9dedd4969f14edf568b76157.css" as="style">
+<link href="/scss/main.min.b17aebabd27496c9901cfab812b30fb885ece0ac9dedd4969f14edf568b76157.css" rel="stylesheet" integrity="">
+
+<script
+ src="/external/js/jquery-3.3.1.min.js"
+ integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
+ crossorigin="anonymous"></script>
+
+
+<meta name="description" content="Platform created by the community to programmatically author, schedule and monitor workflows." />
+
+
+
+
+ <link rel="preload" href="/scss/main-custom.min.b8fa50ff03a3cb99184036e59eb0c9feffd1e8dbd96bb022465167b167b3a286.css" as="style">
+ <link href="/scss/main-custom.min.b8fa50ff03a3cb99184036e59eb0c9feffd1e8dbd96bb022465167b167b3a286.css" rel="stylesheet" integrity="">
+
+
+
+<script>
+ var _paq = window._paq = window._paq || [];
+
+
+ _paq.push(['disableCookies']);
+ _paq.push(['trackPageView']);
+ _paq.push(['enableLinkTracking']);
+ (function() {
+ var u="https://analytics.apache.org/";
+ _paq.push(['setTrackerUrl', u+'matomo.php']);
+ _paq.push(['setSiteId', '13']);
+ var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
+ g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+ })();
+</script>
+
+
+
+<link rel="preload" href="/main.60e9d.js" as="script">
+<link rel="preload" href="/chunk-1.60e9d.js" as="script">
+
+<link rel="preload" href="/chunk-4.60e9d.js" as="script">
+
+
+
+
+</head>
+<body class="td-section">
+<header>
+
+
+
+<a href="https://airflowsummit.org" target="_blank" class="d-block fixed-top px-3 py-2 bg-success text-center text-bold text-white">
+ Airflow Summit 2025 is coming October 07-09. Register now for early bird ticket!
+</a>
+<nav class="js-navbar-scroll navbar" style="top: 40px;">
+ <div class="navbar__icon-container">
+ <a href="/">
+ <svg xmlns="http://www.w3.org/2000/svg" width="155.314" height="60" viewBox="0 0 155.314 60">
+ <defs>
+ <clipPath id="clip-path">
+ <path id="Rectangle_1" d="M0 0h155.314v60H0z" fill="none" data-name="Rectangle 1"/>
+ </clipPath>
+ </defs>
+ <g id="logo" transform="translate(-1305 -780.355)">
+ <g id="Group_2" clip-path="url(#clip-path)" data-name="Group 2" transform="translate(1305 780.355)">
+ <g id="Group_1" data-name="Group 1" transform="translate(.486 .486)">
+ <path id="Path_1" d="M1307.562 880.867l28.187-28.893a.521.521 0 0 0 .063-.666c-1.714-2.393-4.877-2.808-6.049-4.416-3.472-4.763-4.353-7.459-5.845-7.292a.456.456 0 0 0-.271.143l-10.182 10.438c-5.858 6-6.7 19.225-6.852 30.3a.552.552 0 0 0 .949.386z" fill="#017cee" data-name="Path 1" transform="translate(-1306.613 -822.232)"/>
+ <path id="Path_2" d="M1405.512 908.489l-28.893-28.189a.521.521 0 0 0-.667-.063c-2.393 1.715-2.808 4.877-4.416 6.049-4.763 3.472-7.459 4.353-7.292 5.845a.456.456 0 0 0 .143.27l10.438 10.182c6 5.858 19.225 6.7 30.3 6.852a.552.552 0 0 0 .387-.946z" fill="#00ad46" data-name="Path 2" transform="translate(-1346.876 -850.567)"/>
+ <path id="Path_3" d="M1373.909 902.252c-3.28-3.2-4.8-9.53 1.486-22.583-10.219 4.567-13.8 10.57-12.039 12.289z" fill="#04d659" data-name="Path 3" transform="translate(-1345.96 -850.233)"/>
+ <path id="Path_4" d="M1433.132 782.359l-28.186 28.893a.52.52 0 0 0-.063.666c1.715 2.393 4.876 2.808 6.049 4.416 3.472 4.763 4.354 7.459 5.845 7.292a.454.454 0 0 0 .271-.143l10.182-10.438c5.858-6 6.7-19.225 6.852-30.3a.553.553 0 0 0-.95-.386z" fill="#00c7d4" data-name="Path 4" transform="translate(-1375.21 -782.123)"/>
+ <path id="Path_5" d="M1426.9 881.155c-3.2 3.28-9.53 4.8-22.584-1.486 4.567 10.219 10.57 13.8 12.289 12.039z" fill="#11e1ee" data-name="Path 5" transform="translate(-1374.875 -850.233)"/>
+ <path id="Path_6" d="M1307 782.919l28.893 28.186a.521.521 0 0 0 .666.063c2.393-1.715 2.808-4.877 4.416-6.049 4.763-3.472 7.459-4.353 7.292-5.845a.459.459 0 0 0-.143-.271l-10.438-10.182c-6-5.858-19.225-6.7-30.3-6.852a.552.552 0 0 0-.386.95z" fill="#e43921" data-name="Path 6" transform="translate(-1306.766 -781.97)"/>
+ <path id="Path_7" d="M1405.8 804.711c3.28 3.2 4.8 9.53-1.486 22.584 10.219-4.567 13.8-10.571 12.039-12.289z" fill-rule="evenodd" fill="#ff7557" data-name="Path 7" transform="translate(-1374.875 -797.859)"/>
+ <path id="Path_8" d="M1329.355 849.266c3.2-3.28 9.53-4.8 22.584 1.486-4.567-10.219-10.57-13.8-12.289-12.039z" fill="#0cb6ff" data-name="Path 8" transform="translate(-1322.503 -821.316)"/>
+ <circle id="Ellipse_1" cx="1.26" cy="1.26" r="1.26" fill="#4a4848" data-name="Ellipse 1" transform="translate(28.18 28.171)"/>
+ <path id="Path_9" d="M1527.558 827.347a.229.229 0 0 1-.223-.223.458.458 0 0 1 .011-.123l2.766-7.214a.346.346 0 0 1 .357-.245h.758a.348.348 0 0 1 .357.245l2.754 7.214.022.123a.228.228 0 0 1-.223.223h-.568a.288.288 0 0 1-.19-.056.352.352 0 0 1-.089-.134l-.613-1.583h-3.657l-.613 1.583a.317.317 0 0 1-.1.134.269.269 0 0 1-.178.056zm4.795-2.732l-1.505-3.958-1.505 3.958zm3.322 4.85a.258.258 0 0 1-.189-.078.241.241 0 0 1-.067-.178v-7.4a.241.241 0 0 1 .067-.178.258.258 0 0 1 .189- [...]
+ <path id="Path_10" d="M1527.2 827.081l-.061.061zm-.056-.279l-.08-.031zm2.766-7.214l.08.031zm1.472 0l-.081.029zm2.754 7.214l.084-.015a.064.064 0 0 0 0-.015zm.022.123h.086v-.015zm-.067.156l.06.061zm-.914.011l-.061.061.006.005zm-.089-.134l.081-.027zm-.613-1.583l.08-.031a.086.086 0 0 0-.08-.055zm-3.657 0v-.086a.086.086 0 0 0-.08.055zm-.613 1.583l-.08-.031zm-.1.134l.055.066zm4.047-2.676v.086a.086.086 0 0 0 .08-.116zm-1.505-3.958l.08-.03a.086.086 0 0 0-.16 0zm-1.505 3.958l-.08- [...]
+ <path id="Path_11" d="M1519.066 884.011a.581.581 0 0 1-.567-.567 1.151 1.151 0 0 1 .028-.312l7.026-18.328a.881.881 0 0 1 .906-.623h1.926a.882.882 0 0 1 .907.623l7 18.328.057.312a.583.583 0 0 1-.567.567h-1.445a.735.735 0 0 1-.482-.142.9.9 0 0 1-.226-.34l-1.558-4.023h-9.292l-1.558 4.023a.8.8 0 0 1-.255.34.688.688 0 0 1-.453.142zm12.181-6.94l-3.824-10.056-3.823 10.055zm8.184-10.538a.592.592 0 0 1-.652-.651v-1.53a.714.714 0 0 1 .17-.482.656.656 0 0 1 .482-.2h1.785a.677.677 0 [...]
+ </g>
+ </g>
+ </g>
+</svg>
+
+ </a>
+ </div>
+ <div class="desktop-only navbar__menu-container">
+
+ <div class="navbar__menu-content" id="main_navbar">
+
+
+ <div class="navbar__links-container">
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/community/"
+ >
+ Community
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/meetups/"
+ >
+ Meetups
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/docs/"
+ >
+ Documentation
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/use-cases/"
+ >
+ Use Cases
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link active"
+ href="/announcements/"
+ >
+ Announcements
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/blog/"
+ >
+ Blog
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/ecosystem/"
+ >
+ Ecosystem
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/blog/airflow-survey-2024/"
+ >
+ Airflow Survey 2024
+ </a>
+
+ </div>
+ </div>
+
+ </div>
+ <div class="no-desktop navbar__drawer-container">
+ <button class="navbar__toggle-button" id="navbar-toggle-button">
+
+ <div id="hamburger-icon" class="navbar__toggle-button--icon visible">
+ <svg xmlns="http://www.w3.org/2000/svg" width="26" height="20" viewBox="0 0 26 20">
+ <g id="Group_1294" data-name="Group 1294" transform="translate(-38.791 291)">
+ <g id="Group_1291" data-name="Group 1291" transform="translate(39 -291)">
+ <rect id="Rectangle_461" width="26" height="2" fill="#51504f" data-name="Rectangle 461" rx="1" transform="translate(-.209)"/>
+ </g>
+ <g id="Group_1292" data-name="Group 1292" transform="translate(39 -281.822)">
+ <rect id="Rectangle_462" width="26" height="2" fill="#51504f" data-name="Rectangle 462" rx="1" transform="translate(-.209 -.178)"/>
+ </g>
+ <g id="Group_1293" data-name="Group 1293" transform="translate(39 -272.644)">
+ <rect id="Rectangle_463" width="26" height="2" fill="#51504f" data-name="Rectangle 463" rx="1" transform="translate(-.209 -.356)"/>
+ </g>
+ </g>
+</svg>
+
+ </div>
+
+
+ <div id="close-icon" class="navbar__toggle-button--icon">
+ <svg xmlns="http://www.w3.org/2000/svg" width="19.799" height="19.799" viewBox="0 0 19.799 19.799">
+ <g id="Group_1574" data-name="Group 1574" transform="translate(-41.892 290.899)">
+ <g id="Group_1291" data-name="Group 1291" transform="rotate(-45 -308.114 -187.077)">
+ <rect id="Rectangle_461" width="26" height="2" fill="#51504f" data-name="Rectangle 461" rx="1" transform="translate(-.209)"/>
+ </g>
+ <g id="Group_1292" data-name="Group 1292" transform="rotate(45 372.48 -93.011)">
+ <rect id="Rectangle_462" width="26" height="2" fill="#51504f" data-name="Rectangle 462" rx="1" transform="translate(-.209 -.178)"/>
+ </g>
+ </g>
+</svg>
+
+ </div>
+
+ </button>
+ <div class="navbar__drawer" id="navbar-drawer">
+ <div class="navbar__menu-content" id="main_navbar">
+
+
+ <div class="navbar__links-container">
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/community/"
+ >
+ Community
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/meetups/"
+ >
+ Meetups
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/docs/"
+ >
+ Documentation
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/use-cases/"
+ >
+ Use Cases
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link active"
+ href="/announcements/"
+ >
+ Announcements
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/blog/"
+ >
+ Blog
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/ecosystem/"
+ >
+ Ecosystem
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/blog/airflow-survey-2024/"
+ >
+ Airflow Survey 2024
+ </a>
+
+ </div>
+ </div>
+</div>
+ </div>
+</nav>
+
+
+
+</header>
+<div class="container-fluid td-default">
+
+ <div class="home-page-layout base-layout">
+ <main role="main" class="td-main container">
+
+
+<p>
+ </p>
+<h1 id="april-22-2025">April 22, 2025</h1>
+<p>We’ve just released Apache <strong>Airflow 3.0.0</strong>. You can read more about what 3.0 brings in the <a href="/blog/airflow-three-point-oh-is-here/">announcement post</a>.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/3.0.0/">https://pypi.org/project/apache-airflow/3.0.0/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/3.0.0">https://airflow.apache.org/docs/apache-airflow/3.0.0</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/apache-airflow/3.0.0/release_notes.html">https://airflow.apache.org/docs/apache-airflow/3.0.0/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/3.0.0/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/3.0.0/installation/installing-from-sources.html</a></p>
+<h1 id="april-2-2025">April 2, 2025</h1>
+<p>Airflow PMC welcomes new Airflow Committers:</p>
+<ul>
+<li><strong>Buğra Öztürk</strong> (<a href="https://github.com/bugraoz93">@bugraoz93</a>)</li>
+<li><strong>Kalyan Reddy</strong> (<a href="https://github.com/rawwar">@rawwar</a>)</li>
+<li><strong>Rahul Vats</strong> (<a href="https://github.com/vatsrahul1001">@vatsrahul1001</a>)</li>
+<li><strong>Shubham Raj</strong> (<a href="https://github.com/shubhamraj-git">@shubhamraj-git</a>)</li>
+<li><strong>Zhe You Liu</strong> (<a href="https://github.com/jason810496">@jason810496</a>)</li>
+</ul>
+<h1 id="april-1-2025">April 1, 2025</h1>
+<p>We’ve just released Apache <strong>Airflow Helm chart 1.16.0</strong>.</p>
+<p>📦 ArtifactHub: <a href="https://artifacthub.io/packages/helm/apache-airflow/airflow">https://artifacthub.io/packages/helm/apache-airflow/airflow</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/helm-chart/1.16.0/">https://airflow.apache.org/docs/helm-chart/1.16.0/</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/helm-chart/1.16.0/release_notes.html">https://airflow.apache.org/docs/helm-chart/1.16.0/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/helm-chart/1.16.0/installing-helm-chart-from-sources.html">https://airflow.apache.org/docs/helm-chart/1.16.0/installing-helm-chart-from-sources.html</a></p>
+<h1 id="february-10-2025">February 10, 2025</h1>
+<p>We’ve just released Apache <strong>Airflow 2.10.5</strong>.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.10.5/">https://pypi.org/project/apache-airflow/2.10.5/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.10.5">https://airflow.apache.org/docs/apache-airflow/2.10.5</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/apache-airflow/2.10.5/release_notes.html">https://airflow.apache.org/docs/apache-airflow/2.10.5/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.10.5/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/2.10.5/installation/installing-from-sources.html</a></p>
+<h1 id="december-16-2024">December 16, 2024</h1>
+<p>We’ve just released Apache <strong>Airflow 2.10.4</strong>.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.10.4/">https://pypi.org/project/apache-airflow/2.10.4/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.10.4">https://airflow.apache.org/docs/apache-airflow/2.10.4</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/apache-airflow/2.10.4/release_notes.html">https://airflow.apache.org/docs/apache-airflow/2.10.4/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.10.4/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/2.10.4/installation/installing-from-sources.html</a></p>
+<h1 id="november-5-2024">November 5, 2024</h1>
+<p>We’ve just released Apache <strong>Airflow 2.10.3</strong>.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.10.3/">https://pypi.org/project/apache-airflow/2.10.3/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.10.3">https://airflow.apache.org/docs/apache-airflow/2.10.3</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/apache-airflow/2.10.3/release_notes.html">https://airflow.apache.org/docs/apache-airflow/2.10.3/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.10.3/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/2.10.3/installation/installing-from-sources.html</a></p>
+<h1 id="october-19-2024">October 19, 2024</h1>
+<p>Airflow PMC welcomes new Airflow PMC Member: <strong>Vikram Koka</strong> (<a href="https://github.com/vikramkoka">@vikramkoka</a></p>
+<h1 id="september-20-2024">September 20, 2024</h1>
+<p>We’ve just released Apache <strong>Airflow 2.10.2</strong>.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.10.2/">https://pypi.org/project/apache-airflow/2.10.2/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.10.2">https://airflow.apache.org/docs/apache-airflow/2.10.2</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/apache-airflow/2.10.2/release_notes.html">https://airflow.apache.org/docs/apache-airflow/2.10.2/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.10.2/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/2.10.2/installation/installing-from-sources.html</a></p>
+<h1 id="september-06-2024">September 06, 2024</h1>
+<p>We’ve just released Apache <strong>Airflow 2.10.1</strong>.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.10.1/">https://pypi.org/project/apache-airflow/2.10.1/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.10.1">https://airflow.apache.org/docs/apache-airflow/2.10.1</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/apache-airflow/2.10.1/release_notes.html">https://airflow.apache.org/docs/apache-airflow/2.10.1/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.10.1/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/2.10.1/installation/installing-from-sources.html</a></p>
+<h1 id="august-15-2024">August 15, 2024</h1>
+<p>We’ve just released Apache <strong>Airflow 2.10.0</strong>.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.10.0/">https://pypi.org/project/apache-airflow/2.10.0/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.10.0">https://airflow.apache.org/docs/apache-airflow/2.10.0</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/apache-airflow/2.10.0/release_notes.html">https://airflow.apache.org/docs/apache-airflow/2.10.0/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.10.0/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/2.10.0/installation/installing-from-sources.html</a></p>
+<h1 id="july-24-2024">July 24, 2024</h1>
+<p>We’ve just released Apache <strong>Airflow Helm chart 1.15.0</strong>.</p>
+<p>📦 ArtifactHub: <a href="https://artifacthub.io/packages/helm/apache-airflow/airflow">https://artifacthub.io/packages/helm/apache-airflow/airflow</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/helm-chart/1.15.0/">https://airflow.apache.org/docs/helm-chart/1.15.0/</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/helm-chart/1.15.0/release_notes.html">https://airflow.apache.org/docs/helm-chart/1.15.0/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/helm-chart/1.15.0/installing-helm-chart-from-sources.html">https://airflow.apache.org/docs/helm-chart/1.15.0/installing-helm-chart-from-sources.html</a></p>
+<h1 id="july-16-2024">July 16, 2024</h1>
+<p>We’ve just released Apache <strong>Airflow 2.9.3</strong>.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.9.3/">https://pypi.org/project/apache-airflow/2.9.3/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.9.3">https://airflow.apache.org/docs/apache-airflow/2.9.3</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/apache-airflow/2.9.3/release_notes.html">https://airflow.apache.org/docs/apache-airflow/2.9.3/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.9.3/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/2.9.3/installation/installing-from-sources.html</a></p>
+<h1 id="july-15-2024">July 15, 2024</h1>
+<p>Airflow PMC welcomes new Airflow Committers:</p>
+<ul>
+<li><strong>Rom Sharon</strong> (<a href="https://github.com/romsharon98">@romsharon98</a>)</li>
+<li><strong>Shahar Epstein</strong> (<a href="https://github.com/shahar1">@shahar1</a>)</li>
+</ul>
+<h1 id="june-18-2024">June 18, 2024</h1>
+<p>We’ve just released Apache <strong>Airflow Helm chart 1.14.0</strong>.</p>
+<p>📦 ArtifactHub: <a href="https://artifacthub.io/packages/helm/apache-airflow/airflow">https://artifacthub.io/packages/helm/apache-airflow/airflow</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/helm-chart/1.14.0/">https://airflow.apache.org/docs/helm-chart/1.14.0/</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/helm-chart/1.14.0/release_notes.html">https://airflow.apache.org/docs/helm-chart/1.14.0/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/helm-chart/1.14.0/installing-helm-chart-from-sources.html">https://airflow.apache.org/docs/helm-chart/1.14.0/installing-helm-chart-from-sources.html</a></p>
+<h1 id="june-10-2024">June 10, 2024</h1>
+<p>We’ve just released Apache <strong>Airflow 2.9.2</strong>.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.9.2/">https://pypi.org/project/apache-airflow/2.9.2/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.9.2">https://airflow.apache.org/docs/apache-airflow/2.9.2</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/apache-airflow/2.9.2/release_notes.html">https://airflow.apache.org/docs/apache-airflow/2.9.2/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.9.2/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/2.9.2/installation/installing-from-sources.html</a></p>
+<h1 id="may-6-2024">May 6, 2024</h1>
+<p>We’ve just released Apache <strong>Airflow 2.9.1</strong>.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.9.1/">https://pypi.org/project/apache-airflow/2.9.1/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.9.1">https://airflow.apache.org/docs/apache-airflow/2.9.1</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/apache-airflow/2.9.1/release_notes.html">https://airflow.apache.org/docs/apache-airflow/2.9.1/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.9.1/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/2.9.1/installation/installing-from-sources.html</a></p>
+<h1 id="april-8-2024">April 8, 2024</h1>
+<p>We’ve just released Apache <strong>Airflow 2.9.0</strong>.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.9.0/">https://pypi.org/project/apache-airflow/2.9.0/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.9.0">https://airflow.apache.org/docs/apache-airflow/2.9.0</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/apache-airflow/2.9.0/release_notes.html">https://airflow.apache.org/docs/apache-airflow/2.9.0/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.9.0/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/2.9.0/installation/installing-from-sources.html</a></p>
+<h1 id="april-7-2024">April 7, 2024</h1>
+<p>Airflow PMC welcomes new Airflow Committer:</p>
+<ul>
+<li><strong>Wei Lee</strong> (<a href="https://github.com/Lee-W">@Lee-W</a>)</li>
+</ul>
+<h1 id="march-25-2024">March 25, 2024</h1>
+<p>We’ve just released Apache <strong>Airflow 2.8.4</strong>.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.8.4/">https://pypi.org/project/apache-airflow/2.8.4/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.8.4">https://airflow.apache.org/docs/apache-airflow/2.8.4</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/apache-airflow/2.8.4/release_notes.html">https://airflow.apache.org/docs/apache-airflow/2.8.4/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.8.4/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/2.8.4/installation/installing-from-sources.html</a></p>
+<h1 id="march-25-2024-1">March 25, 2024</h1>
+<p>We’ve just released Apache <strong>Airflow Helm chart 1.13.1</strong>.</p>
+<p>📦 ArtifactHub: <a href="https://artifacthub.io/packages/helm/apache-airflow/airflow">https://artifacthub.io/packages/helm/apache-airflow/airflow</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/helm-chart/1.13.1/">https://airflow.apache.org/docs/helm-chart/1.13.1/</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/helm-chart/1.13.1/release_notes.html">https://airflow.apache.org/docs/helm-chart/1.13.1/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/helm-chart/1.13.1/installing-helm-chart-from-sources.html">https://airflow.apache.org/docs/helm-chart/1.13.1/installing-helm-chart-from-sources.html</a></p>
+<h1 id="march-11-2024">March 11, 2024</h1>
+<p>We’ve just released Apache <strong>Airflow 2.8.3</strong>.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.8.3/">https://pypi.org/project/apache-airflow/2.8.3/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.8.3">https://airflow.apache.org/docs/apache-airflow/2.8.3</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/apache-airflow/2.8.3/release_notes.html">https://airflow.apache.org/docs/apache-airflow/2.8.3/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.8.3/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/2.8.3/installation/installing-from-sources.html</a></p>
+<h1 id="march-05-2024">March 05, 2024</h1>
+<p>We’ve just released Apache <strong>Airflow Helm chart 1.13.0</strong>.</p>
+<p>📦 ArtifactHub: <a href="https://artifacthub.io/packages/helm/apache-airflow/airflow">https://artifacthub.io/packages/helm/apache-airflow/airflow</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/helm-chart/1.13.0/">https://airflow.apache.org/docs/helm-chart/1.13.0/</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/helm-chart/1.13.0/release_notes.html">https://airflow.apache.org/docs/helm-chart/1.13.0/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/helm-chart/1.13.0/installing-helm-chart-from-sources.html">https://airflow.apache.org/docs/helm-chart/1.13.0/installing-helm-chart-from-sources.html</a></p>
+<h1 id="february-26-2024">February 26, 2024</h1>
+<p>We’ve just released Apache <strong>Airflow 2.8.2</strong>.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.8.2/">https://pypi.org/project/apache-airflow/2.8.2/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.8.2">https://airflow.apache.org/docs/apache-airflow/2.8.2</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/apache-airflow/2.8.2/release_notes.html">https://airflow.apache.org/docs/apache-airflow/2.8.2/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.8.2/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/2.8.2/installation/installing-from-sources.html</a></p>
+<h1 id="february-12-2024">February 12, 2024</h1>
+<p>We’ve just released Apache <strong>Airflow Helm chart 1.12.0</strong>.</p>
+<p>📦 ArtifactHub: <a href="https://artifacthub.io/packages/helm/apache-airflow/airflow">https://artifacthub.io/packages/helm/apache-airflow/airflow</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/helm-chart/1.12.0/">https://airflow.apache.org/docs/helm-chart/1.12.0/</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/helm-chart/1.12.0/release_notes.html">https://airflow.apache.org/docs/helm-chart/1.12.0/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/helm-chart/1.12.0/installing-helm-chart-from-sources.html">https://airflow.apache.org/docs/helm-chart/1.12.0/installing-helm-chart-from-sources.html</a></p>
+<h1 id="january-19-2024">January 19, 2024</h1>
+<p>We’ve just released Apache <strong>Airflow 2.8.1</strong>.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.8.1/">https://pypi.org/project/apache-airflow/2.8.1/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.8.1">https://airflow.apache.org/docs/apache-airflow/2.8.1</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/apache-airflow/2.8.1/release_notes.html">https://airflow.apache.org/docs/apache-airflow/2.8.1/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.8.1/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/2.8.1/installation/installing-from-sources.html</a></p>
+<h1 id="december-18-2023">December 18, 2023</h1>
+<p>We’ve just released Apache <strong>Airflow 2.8.0</strong>.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.8.0/">https://pypi.org/project/apache-airflow/2.8.0/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.8.0">https://airflow.apache.org/docs/apache-airflow/2.8.0</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/apache-airflow/2.8.0/release_notes.html">https://airflow.apache.org/docs/apache-airflow/2.8.0/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.8.0/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/2.8.0/installation/installing-from-sources.html</a></p>
+<h1 id="november-06-2023">November 06, 2023</h1>
+<p>We’ve just released Apache <strong>Airflow 2.7.3</strong>.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.7.3/">https://pypi.org/project/apache-airflow/2.7.3/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.7.3">https://airflow.apache.org/docs/apache-airflow/2.7.3</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/apache-airflow/2.7.3/release_notes.html">https://airflow.apache.org/docs/apache-airflow/2.7.3/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.7.3/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/2.7.3/installation/installing-from-sources.html</a></p>
+<h1 id="october-12-2023">October 12, 2023</h1>
+<p>We’ve just released Apache <strong>Airflow 2.7.2</strong>.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.7.2/">https://pypi.org/project/apache-airflow/2.7.2/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.7.2">https://airflow.apache.org/docs/apache-airflow/2.7.2</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/apache-airflow/2.7.2/release_notes.html">https://airflow.apache.org/docs/apache-airflow/2.7.2/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.7.2/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/2.7.2/installation/installing-from-sources.html</a></p>
+<h1 id="october-02-2023">October 02, 2023</h1>
+<p>We’ve just released Apache <strong>Airflow Helm chart 1.11.0</strong>.</p>
+<p>📦 ArtifactHub: <a href="https://artifacthub.io/packages/helm/apache-airflow/airflow">https://artifacthub.io/packages/helm/apache-airflow/airflow</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/helm-chart/1.11.0/">https://airflow.apache.org/docs/helm-chart/1.11.0/</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/helm-chart/1.11.0/release_notes.html">https://airflow.apache.org/docs/helm-chart/1.11.0/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/helm-chart/1.11.0/installing-helm-chart-from-sources.html">https://airflow.apache.org/docs/helm-chart/1.11.0/installing-helm-chart-from-sources.html</a></p>
+<h1 id="september-19-2023">September 19, 2023</h1>
+<p>Airflow PMC welcomes new Airflow Committers:</p>
+<ul>
+<li><strong>Amogh Desai</strong> (<a href="https://github.com/amoghrajesh">@amoghrajesh</a>)</li>
+<li><strong>Pankaj Koti</strong> (<a href="https://github.com/pankajkoti">@pankajkoti</a>)</li>
+</ul>
+<h1 id="september-07-2023">September 07, 2023</h1>
+<p>We’ve just released Apache <strong>Airflow 2.7.1</strong>.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.7.1/">https://pypi.org/project/apache-airflow/2.7.1/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.7.1">https://airflow.apache.org/docs/apache-airflow/2.7.1</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/apache-airflow/2.7.1/release_notes.html">https://airflow.apache.org/docs/apache-airflow/2.7.1/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.7.1/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/2.7.1/installation/installing-from-sources.html</a></p>
+<h1 id="august-18-2023">August 18, 2023</h1>
+<p>We’ve just released Apache <strong>Airflow 2.7.0</strong>. You can read all about it in our <a href="/blog/airflow-2.7.0/">Apache Airflow 2.7.0 is here</a> blog post.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.7.0/">https://pypi.org/project/apache-airflow/2.7.0/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.7.0">https://airflow.apache.org/docs/apache-airflow/2.7.0</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/apache-airflow/2.7.0/release_notes.html">https://airflow.apache.org/docs/apache-airflow/2.7.0/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.7.0/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/2.7.0/installation/installing-from-sources.html</a></p>
+<h1 id="july-29-2023">July 29, 2023</h1>
+<p>Airflow PMC welcomes new Airflow PMC Member:</p>
+<ul>
+<li><strong>Hussein Awala</strong> (<a href="https://github.com/hussein-awala">@hussein-awala</a>)</li>
+</ul>
+<h1 id="july-10-2023">July 10, 2023</h1>
+<p>We’ve just released Apache <strong>Airflow 2.6.3</strong>.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.6.3/">https://pypi.org/project/apache-airflow/2.6.3/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.6.3">https://airflow.apache.org/docs/apache-airflow/2.6.3</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/apache-airflow/2.6.3/release_notes.html">https://airflow.apache.org/docs/apache-airflow/2.6.3/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.6.3/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/2.6.3/installation/installing-from-sources.html</a></p>
+<h1 id="july-4-2023">July 4, 2023</h1>
+<p>Airflow PMC welcomes new Airflow Committer:</p>
+<ul>
+<li><strong>Dennis Ferruzzi</strong> (<a href="https://github.com/ferruzzi">@ferruzzi</a>)</li>
+</ul>
+<h1 id="june-28-2023">June 28, 2023</h1>
+<p>Airflow PMC welcomes new Airflow Committers:</p>
+<ul>
+<li><strong>Vincent Beck</strong> (<a href="https://github.com/vincbeck">@vincbeck</a>)</li>
+<li><strong>Phani Kumar</strong> (<a href="https://github.com/phanikumv">@phanikumv</a>)</li>
+<li><strong>Maciej Obuchowski</strong> (<a href="https://github.com/mobuchowski">@mobuchowski</a>)</li>
+</ul>
+<h1 id="june-27-2023">June 27, 2023</h1>
+<p>We’ve just released Apache <strong>Airflow Helm chart 1.10.0</strong>.</p>
+<p>📦 ArtifactHub: <a href="https://artifacthub.io/packages/helm/apache-airflow/airflow">https://artifacthub.io/packages/helm/apache-airflow/airflow</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/helm-chart/1.10.0/">https://airflow.apache.org/docs/helm-chart/1.10.0/</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/helm-chart/1.10.0/release_notes.html">https://airflow.apache.org/docs/helm-chart/1.10.0/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/helm-chart/1.10.0/installing-helm-chart-from-sources.html">https://airflow.apache.org/docs/helm-chart/1.10.0/installing-helm-chart-from-sources.html</a></p>
+<h1 id="june-17-2023">June 17, 2023</h1>
+<p>We’ve just released Apache <strong>Airflow 2.6.2</strong>.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.6.2/">https://pypi.org/project/apache-airflow/2.6.2/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.6.2">https://airflow.apache.org/docs/apache-airflow/2.6.2</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/apache-airflow/2.6.2/release_notes.html">https://airflow.apache.org/docs/apache-airflow/2.6.2/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.6.2/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/2.6.2/installation/installing-from-sources.html</a></p>
+<h1 id="june-12-2023">June 12, 2023</h1>
+<p>Airflow PMC welcomes new Airflow Committer:</p>
+<ul>
+<li><strong>Pankaj Singh</strong> (<a href="https://github.com/pankajastro">@pankajastro</a>)</li>
+</ul>
+<h1 id="may-16-2023">May 16, 2023</h1>
+<p>We’ve just released Apache <strong>Airflow 2.6.1</strong>.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.6.1/">https://pypi.org/project/apache-airflow/2.6.1/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.6.1">https://airflow.apache.org/docs/apache-airflow/2.6.1</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/apache-airflow/2.6.1/release_notes.html">https://airflow.apache.org/docs/apache-airflow/2.6.1/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.6.1/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/2.6.1/installation/installing-from-sources.html</a></p>
+<h1 id="april-30-2023">April 30, 2023</h1>
+<p>We’ve just released Apache <strong>Airflow 2.6.0</strong>. You can read all about it in our <a href="/blog/airflow-2.6.0/">what’s new in Apache Airflow 2.6.0</a> blog post.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.6.0/">https://pypi.org/project/apache-airflow/2.6.0/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.6.0">https://airflow.apache.org/docs/apache-airflow/2.6.0</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/apache-airflow/2.6.0/release_notes.html">https://airflow.apache.org/docs/apache-airflow/2.6.0/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.6.0/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/2.6.0/installation/installing-from-sources.html</a></p>
+<h1 id="april-14-2023">April 14, 2023</h1>
+<p>We’ve just released Apache <strong>Airflow Helm chart 1.9.0</strong>.</p>
+<p>📦 ArtifactHub: <a href="https://artifacthub.io/packages/helm/apache-airflow/airflow">https://artifacthub.io/packages/helm/apache-airflow/airflow</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/helm-chart/1.9.0/">https://airflow.apache.org/docs/helm-chart/1.9.0/</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/helm-chart/1.9.0/release_notes.html">https://airflow.apache.org/docs/helm-chart/1.9.0/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/helm-chart/1.9.0/installing-helm-chart-from-sources.html">https://airflow.apache.org/docs/helm-chart/1.9.0/installing-helm-chart-from-sources.html</a></p>
+<h1 id="april-11-2023">April 11, 2023</h1>
+<p>Airflow PMC welcomes new Airflow Committer:</p>
+<ul>
+<li><strong>Hussein Awala</strong> (<a href="https://github.com/hussein-awala">@hussein-awala</a>)</li>
+</ul>
+<h1 id="april-1-2023">April 1, 2023</h1>
+<p>We’ve just released Apache <strong>Airflow 2.5.3</strong>.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.5.3/">https://pypi.org/project/apache-airflow/2.5.3/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.5.3">https://airflow.apache.org/docs/apache-airflow/2.5.3</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/apache-airflow/2.5.3/release_notes.html">https://airflow.apache.org/docs/apache-airflow/2.5.3/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.5.3/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/2.5.3/installation/installing-from-sources.html</a></p>
+<h1 id="march-15-2023">March 15, 2023</h1>
+<p>We’ve just released Apache <strong>Airflow 2.5.2</strong>.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.5.2/">https://pypi.org/project/apache-airflow/2.5.2/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.5.2">https://airflow.apache.org/docs/apache-airflow/2.5.2</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/apache-airflow/2.5.2/release_notes.html">https://airflow.apache.org/docs/apache-airflow/2.5.2/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.5.2/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/2.5.2/installation/installing-from-sources.html</a></p>
+<p>Airflow PMC welcomes new Airflow PMC Members:</p>
+<ul>
+<li><strong>Brent Bovenzi</strong> (<a href="https://github.com/bbovenzi">@bbovenzi</a>)</li>
+<li><strong>Pierre Jeambrun</strong> (<a href="https://github.com/pierrejeambrun">@pierrejeambrun</a>)</li>
+</ul>
+<h1 id="february-6-2023">February 6, 2023</h1>
+<p>We’ve just released Apache <strong>Airflow Helm chart 1.8.0</strong>.</p>
+<p>📦 ArtifactHub: <a href="https://artifacthub.io/packages/helm/apache-airflow/airflow">https://artifacthub.io/packages/helm/apache-airflow/airflow</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/helm-chart/1.8.0/">https://airflow.apache.org/docs/helm-chart/1.8.0/</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/helm-chart/1.8.0/release_notes.html">https://airflow.apache.org/docs/helm-chart/1.8.0/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/helm-chart/1.8.0/installing-helm-chart-from-sources.html">https://airflow.apache.org/docs/helm-chart/1.8.0/installing-helm-chart-from-sources.html</a></p>
+<h1 id="january-20-2023">January 20, 2023</h1>
+<p>We’ve just released Apache <strong>Airflow 2.5.1</strong>.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.5.1/">https://pypi.org/project/apache-airflow/2.5.1/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.5.1">https://airflow.apache.org/docs/apache-airflow/2.5.1</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/apache-airflow/2.5.1/release_notes.html">https://airflow.apache.org/docs/apache-airflow/2.5.1/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.5.1/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/2.5.1/installation/installing-from-sources.html</a></p>
+<h1 id="december-19-2022">December 19, 2022</h1>
+<p>Airflow PMC welcomes new Airflow Committer:</p>
+<ul>
+<li><strong>Niko Oliveira</strong> (<a href="https://github.com/o-nikolas">@o-nikolas</a>)</li>
+</ul>
+<h1 id="december-2-2022">December 2, 2022</h1>
+<p>We’ve just released Apache <strong>Airflow 2.5.0</strong>. You can read all about it in our <a href="/blog/airflow-2.5.0/">what’s new in Apache Airflow 2.5.0</a> blog post.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.5.0/">https://pypi.org/project/apache-airflow/2.5.0/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.5.0">https://airflow.apache.org/docs/apache-airflow/2.5.0</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/apache-airflow/2.5.0/release_notes.html">https://airflow.apache.org/docs/apache-airflow/2.5.0/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.5.0/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/2.5.0/installation/installing-from-sources.html</a></p>
+<h1 id="december-2-2022-1">December 2, 2022</h1>
+<p>Airflow PMC welcomes new Airflow Committer:</p>
+<ul>
+<li><strong>Andrey Anshin</strong> (<a href="https://https://github.com/Taragolis">@Taragolis</a>)</li>
+</ul>
+<h1 id="november-14-2022">November 14, 2022</h1>
+<p>We’ve just released Apache <strong>Airflow 2.4.3</strong>.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.4.3/">https://pypi.org/project/apache-airflow/2.4.3/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.4.3">https://airflow.apache.org/docs/apache-airflow/2.4.3</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/apache-airflow/2.4.3/release_notes.html">https://airflow.apache.org/docs/apache-airflow/2.4.3/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.4.3/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/2.4.3/installation/installing-from-sources.html</a></p>
+<h1 id="october-24-2022">October 24, 2022</h1>
+<p>We’ve just released Apache <strong>Airflow 2.4.2</strong>.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.4.2/">https://pypi.org/project/apache-airflow/2.4.2/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.4.2">https://airflow.apache.org/docs/apache-airflow/2.4.2</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/apache-airflow/2.4.2/release_notes.html">https://airflow.apache.org/docs/apache-airflow/2.4.2/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.4.2/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/2.4.2/installation/installing-from-sources.html</a></p>
+<h1 id="october-14-2022">October 14, 2022</h1>
+<p>We’ve just released Apache <strong>Airflow Helm chart 1.7.0</strong>.</p>
+<p>📦 ArtifactHub: <a href="https://artifacthub.io/packages/helm/apache-airflow/airflow">https://artifacthub.io/packages/helm/apache-airflow/airflow</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/helm-chart/1.7.0/">https://airflow.apache.org/docs/helm-chart/1.7.0/</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/helm-chart/1.7.0/release_notes.html">https://airflow.apache.org/docs/helm-chart/1.7.0/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/helm-chart/1.7.0/installing-helm-chart-from-sources.html">https://airflow.apache.org/docs/helm-chart/1.7.0/installing-helm-chart-from-sources.html</a></p>
+<h1 id="september-30-2022">September 30, 2022</h1>
+<p>We’ve just released Apache <strong>Airflow 2.4.1</strong>.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.4.1/">https://pypi.org/project/apache-airflow/2.4.1/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.4.1">https://airflow.apache.org/docs/apache-airflow/2.4.1</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/apache-airflow/2.4.1/release_notes.html">https://airflow.apache.org/docs/apache-airflow/2.4.1/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.4.1/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/2.4.1/installation/installing-from-sources.html</a></p>
+<h1 id="september-22-2022">September 22, 2022</h1>
+<p>Airflow PMC welcomes new Airflow Committer:</p>
+<ul>
+<li><strong>Pierre Jeambrun</strong> (<a href="https://github.com/pierrejeambrun">@pierrejeambrun</a>)</li>
+</ul>
+<p>and new Airflow PMC members:</p>
+<ul>
+<li><strong>Tzu-ping Chung</strong> (<a href="https://github.com/uranusjr">@uranusjr</a>)</li>
+<li><strong>Daniel Standish</strong> (<a href="https://github.com/dstandish">@dstadish</a>)</li>
+</ul>
+<h1 id="september-19-2022">September 19, 2022</h1>
+<p>We’ve just released Apache <strong>Airflow 2.4.0</strong>. You can read all about <a href="/blog/airflow-2.4.0/">what’s new in Apache Airflow 2.4.0</a> blog post.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.4.0/">https://pypi.org/project/apache-airflow/2.4.0/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.4.0">https://airflow.apache.org/docs/apache-airflow/2.4.0</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/apache-airflow/2.4.0/release_notes.html">https://airflow.apache.org/docs/apache-airflow/2.4.0/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.4.0/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/2.4.0/installation/installing-from-sources.html</a></p>
+<h1 id="august-23-2022">August 23, 2022</h1>
+<p>We’ve just released Apache <strong>Airflow 2.3.4</strong>.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.3.4/">https://pypi.org/project/apache-airflow/2.3.4/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.3.4">https://airflow.apache.org/docs/apache-airflow/2.3.4</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/apache-airflow/2.3.4/release_notes.html">https://airflow.apache.org/docs/apache-airflow/2.3.4/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.3.4/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/2.3.4/installation/installing-from-sources.html</a></p>
+<h1 id="july-09-2022">July 09, 2022</h1>
+<p>We’ve just released Apache <strong>Airflow 2.3.3</strong>.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.3.3/">https://pypi.org/project/apache-airflow/2.3.3/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.3.3">https://airflow.apache.org/docs/apache-airflow/2.3.3</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/apache-airflow/2.3.3/release_notes.html">https://airflow.apache.org/docs/apache-airflow/2.3.3/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.3.3/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/2.3.3/installation/installing-from-sources.html</a></p>
+<h1 id="june-04-2022">June 04, 2022</h1>
+<p>We’ve just released Apache <strong>Airflow 2.3.2</strong>.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.3.2/">https://pypi.org/project/apache-airflow/2.3.2/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.3.2">https://airflow.apache.org/docs/apache-airflow/2.3.2</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/apache-airflow/2.3.2/release_notes.html">https://airflow.apache.org/docs/apache-airflow/2.3.2/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.3.2/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/2.3.2/installation/installing-from-sources.html</a></p>
+<h1 id="may-25-2022">May 25, 2022</h1>
+<p>We’ve just released Apache <strong>Airflow 2.3.1</strong>.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.3.1/">https://pypi.org/project/apache-airflow/2.3.1/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.3.1">https://airflow.apache.org/docs/apache-airflow/2.3.1</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/apache-airflow/2.3.1/release_notes.html">https://airflow.apache.org/docs/apache-airflow/2.3.1/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.3.1/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/2.3.1/installation/installing-from-sources.html</a></p>
+<h1 id="may-20-2022">May 20, 2022</h1>
+<p>We’ve just released Apache <strong>Airflow Helm chart 1.6.0</strong>.</p>
+<p>📦 ArtifactHub: <a href="https://artifacthub.io/packages/helm/apache-airflow/airflow">https://artifacthub.io/packages/helm/apache-airflow/airflow</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/helm-chart/1.6.0/">https://airflow.apache.org/docs/helm-chart/1.6.0/</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/helm-chart/1.6.0/release_notes.html">https://airflow.apache.org/docs/helm-chart/1.6.0/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/helm-chart/1.6.0/installing-helm-chart-from-sources.html">https://airflow.apache.org/docs/helm-chart/1.6.0/installing-helm-chart-from-sources.html</a></p>
+<h1 id="april-30-2022">April 30, 2022</h1>
+<p>We’ve just released Apache <strong>Airflow 2.3.0</strong>. You can read more in the <a href="/blog/airflow-2.3.0/">What’s new in Apache Airflow 2.3.0</a> blog post.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.3.0/">https://pypi.org/project/apache-airflow/2.3.0/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.3.0">https://airflow.apache.org/docs/apache-airflow/2.3.0</a> <br>
+🛠️ Release Notes: <a href="https://airflow.apache.org/docs/apache-airflow/2.3.0/release_notes.html">https://airflow.apache.org/docs/apache-airflow/2.3.0/release_notes.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.3.0/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/2.3.0/installation/installing-from-sources.html</a></p>
+<h1 id="april-04-2022">April 04, 2022</h1>
+<p>We’ve just released Apache <strong>Airflow 2.2.5</strong>.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.2.5/">https://pypi.org/project/apache-airflow/2.2.5/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.2.5/">https://airflow.apache.org/docs/apache-airflow/2.2.5/</a> <br>
+🛠️ Changelog: <a href="https://airflow.apache.org/docs/apache-airflow/2.2.5/changelog.html">https://airflow.apache.org/docs/apache-airflow/2.2.5/changelog.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.2.5/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/2.2.5/installation/installing-from-sources.html</a></p>
+<h1 id="march-11-2022">March 11, 2022</h1>
+<p>We’ve just released Apache <strong>Airflow Helm chart 1.5.0</strong>.</p>
+<p>📦 ArtifactHub: <a href="https://artifacthub.io/packages/helm/apache-airflow/airflow">https://artifacthub.io/packages/helm/apache-airflow/airflow</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/helm-chart/1.5.0/">https://airflow.apache.org/docs/helm-chart/1.5.0/</a> <br>
+🛠️ Changelog: <a href="https://airflow.apache.org/docs/helm-chart/1.5.0/changelog.html">https://airflow.apache.org/docs/helm-chart/1.5.0/changelog.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/helm-chart/1.5.0/installing-helm-chart-from-sources.html">https://airflow.apache.org/docs/helm-chart/1.5.0/installing-helm-chart-from-sources.html</a></p>
+<h1 id="march-11-2022-1">March 11, 2022</h1>
+<p><a href="https://airflowsummit.org">Airflow Summit 2022</a></p>
+<p>The biggest Airflow Event of the Year returns May 23–27! Airflow Summit 2022 will bring together the global
+community of Apache Airflow practitioners and data leaders.</p>
+<h3 id="whats-on-the-agenda">What’s on the Agenda</h3>
+<p>During the free conference, you will hear about Apache Airflow best practices, trends in building data
+pipelines, data governance, Airflow and machine learning, and the future of Airflow.
+There will also be a series of presentations on non-code contributions driving the open-source project.</p>
+<h3 id="how-to-attend">How to Attend</h3>
+<p>This year’s edition will include a variety of online sessions across different time zones. Additionally,
+you can take part in local in-person events organized worldwide for data communities
+to watch the event and network.</p>
+<h3 id="interested">Interested?</h3>
+<p>🪶 <a href="https://www.crowdcast.io/e/airflowsummit2022/register?utm_campaign=Astronomer_marketing&utm_source=Astronomer%20website&utm_medium=website&utm_term=Airflow%20Summit">Register for Airflow Summit 2022</a> today! <br>
+🗣️ If you have an Airflow story to share, <a href="https://sessionize.com/airflow-summit-2022/">join as a speaker</a> <br>
+✨ <a href="https://www.linkedin.com/company/airflow-summit/">Follow Airflow Summit on LinkedIn</a> to stay current with the latest updates. <br>
+🤝 <a href="https://airflowsummit.org/in-person-events/">Check out the in-person events</a> planned for Airflow Summit 2022.</p>
+<h1 id="february-22-2022">February 22, 2022</h1>
+<p>We’ve just released Apache <strong>Airflow 2.2.4</strong>.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.2.4/">https://pypi.org/project/apache-airflow/2.2.4/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.2.4/">https://airflow.apache.org/docs/apache-airflow/2.2.4/</a> <br>
+🛠️ Changelog: <a href="https://airflow.apache.org/docs/apache-airflow/2.2.4/changelog.html">https://airflow.apache.org/docs/apache-airflow/2.2.4/changelog.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.2.4/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/2.2.4/installation/installing-from-sources.html</a></p>
+<h1 id="february-19-2022">February 19, 2022</h1>
+<p>Airflow PMC welcomes two new Airlow Committers:</p>
+<ul>
+<li><strong>Malthe Borch</strong> (<a href="https://github.com/malthe">@malthe</a>)</li>
+<li><strong>Josh Fell</strong> (<a href="https://github.com/josh-fell">@josh-fell</a>)</li>
+</ul>
+<h1 id="january-10-2022">January 10, 2022</h1>
+<p>We’ve just released Apache <strong>Airflow Helm chart 1.4.0</strong>.</p>
+<p>📦 ArtifactHub: <a href="https://artifacthub.io/packages/helm/apache-airflow/airflow">https://artifacthub.io/packages/helm/apache-airflow/airflow</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/helm-chart/1.4.0/">https://airflow.apache.org/docs/helm-chart/1.4.0/</a> <br>
+🛠️ Changelog: <a href="https://airflow.apache.org/docs/helm-chart/1.4.0/changelog.html">https://airflow.apache.org/docs/helm-chart/1.4.0/changelog.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/helm-chart/1.4.0/installing-helm-chart-from-sources.html">https://airflow.apache.org/docs/helm-chart/1.4.0/installing-helm-chart-from-sources.html</a></p>
+<h1 id="january-4-2022">January 4, 2022</h1>
+<p>Airflow PMC welcomes <strong>Jed Cunningham</strong> (<a href="https://github.com/jedcunningham">@jedcunningham</a>) as the newest addition to Airflow PMC.</p>
+<h1 id="december-21-2021">December 21, 2021</h1>
+<p>We’ve just released Apache <strong>Airflow 2.2.3</strong>.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.2.3/">https://pypi.org/project/apache-airflow/2.2.3/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.2.3/">https://airflow.apache.org/docs/apache-airflow/2.2.3/</a> <br>
+🛠️ Changelog: <a href="https://airflow.apache.org/docs/apache-airflow/2.2.3/changelog.html">https://airflow.apache.org/docs/apache-airflow/2.2.3/changelog.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.2.3/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/2.2.3/installation/installing-from-sources.html</a></p>
+<h1 id="november-15-2021">November 15, 2021</h1>
+<p>We’ve just released Apache <strong>Airflow 2.2.2</strong>.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.2.2/">https://pypi.org/project/apache-airflow/2.2.2/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.2.2/">https://airflow.apache.org/docs/apache-airflow/2.2.2/</a> <br>
+🛠️ Changelog: <a href="https://airflow.apache.org/docs/apache-airflow/2.2.2/changelog.html">https://airflow.apache.org/docs/apache-airflow/2.2.2/changelog.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.2.2/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/2.2.2/installation/installing-from-sources.html</a></p>
+<h1 id="november-8-2021">November 8, 2021</h1>
+<p>We’ve just released Apache <strong>Airflow Helm chart 1.3.0</strong>.</p>
+<p>📦 ArtifactHub: <a href="https://artifacthub.io/packages/helm/apache-airflow/airflow">https://artifacthub.io/packages/helm/apache-airflow/airflow</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/helm-chart/1.3.0/">https://airflow.apache.org/docs/helm-chart/1.3.0/</a> <br>
+🛠️ Changelog: <a href="https://airflow.apache.org/docs/helm-chart/1.3.0/changelog.html">https://airflow.apache.org/docs/helm-chart/1.3.0/changelog.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/helm-chart/1.3.0/installing-helm-chart-from-sources.html">https://airflow.apache.org/docs/helm-chart/1.3.0/installing-helm-chart-from-sources.html</a></p>
+<h1 id="october-29-2021">October 29, 2021</h1>
+<p>We’ve just released Apache <strong>Airflow 2.2.1</strong>.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.2.1/">https://pypi.org/project/apache-airflow/2.2.1/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.2.1/">https://airflow.apache.org/docs/apache-airflow/2.2.1/</a> <br>
+🛠️ Changelog: <a href="https://airflow.apache.org/docs/apache-airflow/2.2.1/changelog.html">https://airflow.apache.org/docs/apache-airflow/2.2.1/changelog.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.2.1/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/2.2.1/installation/installing-from-sources.html</a></p>
+<h1 id="october-11-2021">October 11, 2021</h1>
+<p>We’ve just released Apache <strong>Airflow 2.2.0</strong>. You can read more in the <a href="/blog/airflow-2.2.0/">What’s new in Apache Airflow 2.2.0</a> blog post.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.2.0/">https://pypi.org/project/apache-airflow/2.2.0/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.2.0/">https://airflow.apache.org/docs/apache-airflow/2.2.0/</a> <br>
+🛠️ Changelog: <a href="https://airflow.apache.org/docs/apache-airflow/2.2.0/changelog.html">https://airflow.apache.org/docs/apache-airflow/2.2.0/changelog.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.2.0/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/2.2.0/installation/installing-from-sources.html</a></p>
+<h1 id="september-28-2021">September 28, 2021</h1>
+<p>We’ve just released Apache <strong>Airflow Helm chart 1.2.0</strong>.</p>
+<p>📦 ArtifactHub: <a href="https://artifacthub.io/packages/helm/apache-airflow/airflow">https://artifacthub.io/packages/helm/apache-airflow/airflow</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/helm-chart/1.2.0/">https://airflow.apache.org/docs/helm-chart/1.2.0/</a> <br>
+🛠️ Changelog: <a href="https://airflow.apache.org/docs/helm-chart/1.2.0/changelog.html">https://airflow.apache.org/docs/helm-chart/1.2.0/changelog.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/helm-chart/1.2.0/installing-helm-chart-from-sources.html">https://airflow.apache.org/docs/helm-chart/1.2.0/installing-helm-chart-from-sources.html</a></p>
+<h1 id="september-18-2021">September 18, 2021</h1>
+<p>We’ve just released Apache <strong>Airflow 2.1.4</strong>.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.1.4/">https://pypi.org/project/apache-airflow/2.1.4/</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.1.4/">https://airflow.apache.org/docs/apache-airflow/2.1.4/</a> <br>
+🛠️ Changelog: <a href="https://airflow.apache.org/docs/apache-airflow/2.1.4/changelog.html">https://airflow.apache.org/docs/apache-airflow/2.1.4/changelog.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.1.4/installation/installing-from-sources.html">https://airflow.apache.org/docs/apache-airflow/2.1.4/installation/installing-from-sources.html</a></p>
+<h1 id="august-31-2021">August 31, 2021</h1>
+<p>Airflow PMC welcomes 2 new members to the Airflow PMC:</p>
+<ul>
+<li><strong>Ephraim Anierobi</strong> (<a href="https://github.com/ephraimbuddy">@ephraimbuddy</a>)</li>
+<li><strong>Elad Kalif</strong> (<a href="https://github.com/eladkal">@eladkal</a>)</li>
+</ul>
+<h1 id="august-27-2021">August 27, 2021</h1>
+<p>Airflow PMC welcomes <strong>Brent Bovenzi</strong> (<a href="https://github.com/bbovenzi">@bbovenzi</a>) as the newest Airflow Committer. 👏👏</p>
+<h1 id="august-23-2021">August 23, 2021</h1>
+<p>We’ve just released Apache <strong>Airflow 2.1.3</strong>.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.1.3/">https://pypi.org/project/apache-airflow/2.1.3/</a> <br>
+📚 Docs: https://airflow.apache.org/docs/apache-airflow/2.1.3/ <br>
+🛠️ Changelog: https://airflow.apache.org/docs/apache-airflow/2.1.3/changelog.html <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.1.3/installation.html#installing-airflow-from-released-sources-and-packages">https://airflow.apache.org/docs/apache-airflow/2.1.3/installation.html#installing-airflow-from-released-sources-and-packages</a></p>
+<h1 id="july-7-2021">July 7, 2021</h1>
+<p>We’ve just released Apache <strong>Airflow 2.1.2</strong>.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.1.2">https://pypi.org/project/apache-airflow/2.1.2</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.1.2/">https://airflow.apache.org/docs/apache-airflow/2.1.2/</a> <br>
+🛠️ Changelog: <a href="https://airflow.apache.org/docs/apache-airflow/2.1.2/changelog.html">https://airflow.apache.org/docs/apache-airflow/2.1.2/changelog.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.1.2/installation.html#installing-airflow-from-released-sources-and-packages">https://airflow.apache.org/docs/apache-airflow/2.1.2/installation.html#installing-airflow-from-released-sources-and-packages</a></p>
+<h1 id="july-6-2021">July 6, 2021</h1>
+<p>Airflow PMC welcomes <strong>Aneesh Joseph</strong> (<a href="https://github.com/aneesh-joseph">@aneesh-joseph</a>) as the newest Airflow Committer. 👏👏</p>
+<h1 id="july-2-2021">July 2, 2021</h1>
+<p>We’ve just released Apache <strong>Airflow 2.1.1</strong>.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.1.1">https://pypi.org/project/apache-airflow/2.1.1</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.1.1/">https://airflow.apache.org/docs/apache-airflow/2.1.1/</a> <br>
+🛠️ Changelog: <a href="https://airflow.apache.org/docs/apache-airflow/2.1.1/changelog.html">https://airflow.apache.org/docs/apache-airflow/2.1.1/changelog.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.1.1/installation.html#installing-airflow-from-released-sources-and-packages">https://airflow.apache.org/docs/apache-airflow/2.1.1/installation.html#installing-airflow-from-released-sources-and-packages</a></p>
+<h1 id="june-26-2021">June 26, 2021</h1>
+<p>Airflow PMC welcomes 2 new committers:</p>
+<ul>
+<li><strong>Jed Cunningham</strong> (<a href="https://github.com/jedcunningham">@jedcunningham</a>)</li>
+<li><strong>Tzu-ping Chung</strong> (<a href="https://github.com/uranusjr">@uranusjr</a>)</li>
+</ul>
+<h1 id="may-21-2021">May 21, 2021</h1>
+<p>I’m happy to announce that Apache <strong>Airflow 2.1.0</strong> was just released. This one includes a raft of fixes and other small improvements, but some notable additions include:</p>
+<ul>
+<li>
+<p>A Create a DAG Calendar View to show the status of your DAG run across time more easily</p>
+</li>
+<li>
+<p>The cross-dag-dependencies view (which used to be an external plugin) is now part of core</p>
+</li>
+<li>
+<p>Mask passwords and sensitive info in task logs and UI (finally!)</p>
+</li>
+<li>
+<p>Improvmenets to webserver start up time (mostly around time spent syncing DAG permissions)</p>
+</li>
+</ul>
+<p>Please note that <em>this</em> release no long includes the <code>HTTP</code> extra provider by default, as we discovered that it pulls in an LGPL dependency (via the <code>requests</code> module of all places) so it is now optional.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.1.0">https://pypi.org/project/apache-airflow/2.1.0</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.1.0/">https://airflow.apache.org/docs/apache-airflow/2.1.0/</a> <br>
+🛠️ Changelog: <a href="https://airflow.apache.org/docs/apache-airflow/2.1.0/changelog.html">https://airflow.apache.org/docs/apache-airflow/2.1.0/changelog.html</a> <br>
+🪶 Sources: <a href="https://airflow.apache.org/docs/apache-airflow/2.1.0/installation.html#installing-airflow-from-released-sources-and-packages">https://airflow.apache.org/docs/apache-airflow/2.1.0/installation.html#installing-airflow-from-released-sources-and-packages</a></p>
+<h1 id="may-20-2021">May 20, 2021</h1>
+<p>The first release of our official helm chart for Apache Airflow is here!</p>
+<p>📦 ArtifactHub: <a href="https://artifacthub.io/packages/helm/apache-airflow/airflow">https://artifacthub.io/packages/helm/apache-airflow/airflow</a> <br>
+📚 Docs: https://airflow.apache.org/docs/helm-chart/1.0. <br>
+🚀 Quick Start Installation Guide: <a href="https://airflow.apache.org/docs/helm-chart/1.0.0/quick-start.html">https://airflow.apache.org/docs/helm-chart/1.0.0/quick-start.html</a></p>
+<h1 id="april-6-2021">April 6, 2021</h1>
+<p>Airflow PMC welcomes 2 new committers:</p>
+<ul>
+<li><strong>Qian Yu</strong> (<a href="https://github.com/yuqian90">@yuqian90</a>)</li>
+<li><strong>Xinbin Huang</strong> (<a href="https://github.com/xinbinhuang">@xinbinhuang</a>)</li>
+</ul>
+<h1 id="march-21-2021">March 21, 2021</h1>
+<p>Airflow Summit will be held online July 8-16, 2021. To register or propose a talk go to
+<a href="https://airflowsummit.org">official Airflow Summit website</a>.</p>
+<h1 id="march-18-2021">March 18, 2021</h1>
+<p>We’ve just released <strong>Airflow Backport Provider Packages 2020.10.5</strong>.</p>
+<h1 id="march-17-2021">March 17, 2021</h1>
+<p>We’ve just released Apache <strong>Airflow 1.10.15</strong>.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/1.10.15">https://pypi.org/project/apache-airflow/1.10.15</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/1.10.15/">https://airflow.apache.org/docs/apache-airflow/1.10.15/</a> <br>
+🛠️ Changelog: <a href="https://airflow.apache.org/docs/apache-airflow/1.10.15/changelog.html">https://airflow.apache.org/docs/apache-airflow/1.10.15/changelog.html</a></p>
+<p>19 bug fixes, 3 Improvements & a couple of doc updates since 1.10.14</p>
+<p><strong>Apache Airflow Elasticsearch Provider 1.0.3</strong> released</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow-providers-elasticsearch/1.0.3/">https://pypi.org/project/apache-airflow-providers-elasticsearch/1.0.3/</a> <br>
+🛠️ Changelog: <a href="https://airflow.apache.org/docs/apache-airflow-providers-elasticsearch/1.0.3/index.html#changelog">https://airflow.apache.org/docs/apache-airflow-providers-elasticsearch/1.0.3/index.html#changelog</a></p>
+<h1 id="march-14-2021">March 14, 2021</h1>
+<p>We’ve just released <strong>Apache Airflow Upgrade Check 1.3.0</strong>:</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow-upgrade-check/1.3.0/">https://pypi.org/project/apache-airflow-upgrade-check/1.3.0/</a> <br>
+🛠️ Changelog: <a href="https://github.com/apache/airflow/tree/upgrade-check/1.3.0/airflow/upgrade#changelog">https://github.com/apache/airflow/tree/upgrade-check/1.3.0/airflow/upgrade#changelog</a></p>
+<p>This powers the <code>airflow upgrade_check</code> command to make upgrading to Apache Airflow 2.0 easier.</p>
+<h1 id="march-1-2021">March 1, 2021</h1>
+<p>Airflow PMC welcomes 3 new committers:</p>
+<ul>
+<li><strong>James Timmins</strong> (<a href="https://github.com/jhtimmins">@James Timmins</a>)</li>
+<li><strong>Elad Kalif</strong> (<a href="https://github.com/eladkal">@eladkal</a>)</li>
+<li><strong>Daniel Standish</strong> (<a href="https://github.com/dstandish">@dstandish</a>)</li>
+</ul>
+<h1 id="february-23-2021">February 23, 2021</h1>
+<p>Airflow PMC welcomes <strong>Ephraim Anierobi</strong> (<a href="https://github.com/ephraimbuddy">@ephraimbuddy</a>) as the newest Airflow committer.</p>
+<h1 id="february-8-2021">February 8, 2021</h1>
+<p>We’ve just released Apache Airflow 2.0.1.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.0.1">https://pypi.org/project/apache-airflow/2.0.1</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.0.1/">https://airflow.apache.org/docs/apache-airflow/2.0.1/</a> <br>
+🛠️ Changelog: <a href="https://airflow.apache.org/docs/apache-airflow/2.0.1/changelog.html">https://airflow.apache.org/docs/apache-airflow/2.0.1/changelog.html</a></p>
+<p>We also released 61 updated and 2 new providers.</p>
+<h1 id="january-5-2021">January 5, 2021</h1>
+<p>Airflow PMC welcomes <strong>Vikram Koka</strong> (<a href="https://github.com/vikramkoka">@vikramkoka</a>) as the newest Airflow Committer.</p>
+<h1 id="december-25-2020">December 25, 2020</h1>
+<p>Airflow PMC welcomes <strong>Xiaodong Deng</strong> (<a href="https://github.com/XD-DENG">@XD-DENG</a>) as the newest addition to Airflow PMC.</p>
+<h1 id="december-19-2020">December 19, 2020</h1>
+<p>Jeremiah Lowin has resigned from the Airflow PMC.</p>
+<p>Thank you Jeremiah for all your contributions and involvement in Airflow’s early years.</p>
+<h1 id="december-17-2020">December 17, 2020</h1>
+<p>We’ve just released Apache Airflow 2.0.0. You can read more about what 2.0 brings in the <a href="/blog/airflow-two-point-oh-is-here/">announcement post</a>.</p>
+<p>📦 PyPI: <a href="https://pypi.org/project/apache-airflow/2.0.0">https://pypi.org/project/apache-airflow/2.0.0</a> <br>
+📚 Docs: <a href="https://airflow.apache.org/docs/apache-airflow/2.0.0/">https://airflow.apache.org/docs/apache-airflow/2.0.0/</a></p>
+<h1 id="december-10-2020">December 10, 2020</h1>
+<p>We’ve just released Apache Airflow 1.10.14. This is a “bridge” release for Airflow 2.0.</p>
+<p>PyPI: <a href="https://pypi.org/project/apache-airflow/1.10.14">https://pypi.org/project/apache-airflow/1.10.14</a> <br>
+Docs: <a href="https://airflow.readthedocs.io/en/1.10.14/">https://airflow.readthedocs.io/en/1.10.14/</a> <br>
+Changelog: <a href="https://airflow.readthedocs.io/en/1.10.14/changelog.html">https://airflow.readthedocs.io/en/1.10.14/changelog.html</a></p>
+<h1 id="november-25-2020">November 25, 2020</h1>
+<p>We’ve just released Apache Airflow 1.10.13</p>
+<p>PyPI: <a href="https://pypi.org/project/apache-airflow/1.10.13">https://pypi.org/project/apache-airflow/1.10.13</a> <br>
+Docs: <a href="https://airflow.readthedocs.io/en/1.10.13/">https://airflow.readthedocs.io/en/1.10.13/</a> <br>
+Changelog: <a href="https://airflow.readthedocs.io/en/1.10.13/changelog.html">https://airflow.readthedocs.io/en/1.10.13/changelog.html</a></p>
+<p>405 commits since 1.10.12 (6 New Features, 31 Improvements, 30 Bug Fixes, and tons of doc changes and internal changes)</p>
+<h1 id="november-2-2020">November 2, 2020</h1>
+<p>We’ve just released Airflow Backport Provider Packages 2020.10.5.</p>
+<h1 id="october-28-2020">October 28, 2020</h1>
+<p>Airflow PMC welcomes <strong>Ryan Hamilton</strong> (<a href="https://github.com/ryanahamilton">@ryanahamilton</a>) as the new Airflow Committer.</p>
+<h1 id="october-6-2020">October 6, 2020</h1>
+<p>We’ve just released Airflow Backport Provider Packages 2020.10.5.</p>
+<p>57 packages have been released.</p>
+<h1 id="august-25-2020">August 25, 2020</h1>
+<p>We’ve just released Airflow v1.10.12</p>
+<p>PyPI - <a href="https://pypi.org/project/apache-airflow/1.10.12/">https://pypi.org/project/apache-airflow/1.10.12/</a></p>
+<p>Docs - <a href="https://airflow.apache.org/docs/1.10.12/">https://airflow.apache.org/docs/1.10.12/</a></p>
+<p>ChangeLog - <a href="https://airflow.apache.org/docs/1.10.12/changelog.html">https://airflow.apache.org/docs/1.10.12/changelog.html</a></p>
+<p>113 commits since 1.10.10 (5 New Features, 23 Improvements, 23 Bug Fixes, and 14 doc changes)</p>
+<h1 id="july-20-2020">July 20, 2020</h1>
+<p>Airflow PMC welcomes <strong>Leah Cole</strong> (<a href="https://github.com/leahecole">@leahecole</a>) and <strong>Ry Walker</strong> (<a href="https://github.com/ryw">@ryw</a>) as new Airflow Committers.</p>
+<h1 id="july-10-2020">July 10, 2020</h1>
+<p>We’ve just released Airflow v1.10.11</p>
+<p>PyPI - <a href="https://pypi.org/project/apache-airflow/1.10.11/">https://pypi.org/project/apache-airflow/1.10.11/</a></p>
+<p>Docs - <a href="https://airflow.apache.org/docs/1.10.11/">https://airflow.apache.org/docs/1.10.11/</a></p>
+<p>ChangeLog - <a href="https://airflow.apache.org/docs/1.10.11/changelog.html">https://airflow.apache.org/docs/1.10.11/changelog.html</a></p>
+<p>306 commits since 1.10.10 (12 New Features, 90 Improvements, 53 Bug Fixes, and several doc changes)</p>
+<h1 id="july-8-2020">July 8, 2020</h1>
+<p>Airflow PMC welcomes <strong>Daniel Imberman</strong> (<a href="https://github.com/dimberman">@dimberman</a>), <strong>Tomek Turbaszek</strong> (<a href="https://github.com/turbaszek">@turbaszek</a>), and <strong>Kamil Breguła</strong> (<a href="https://github.com/mik-laj">@mik-laj</a>) as new PMC members, and <strong>QP Hou</strong> (<a href="https://github.com/houqp">@houqp</a>) as a committer. Congrats!</p>
+<h1 id="july-6-2020">July 6, 2020</h1>
+<p>The (virtual) Airflow Summit has begun – you can watch along at <a href="https://airflowsummit.org/">airflowsummit.org</a></p>
+<h1 id="jun-24-2020">Jun 24, 2020</h1>
+<p>We’ve just released Airflow Backport Provider Packages 2020.6.24</p>
+<p>The Backport provider packages make it possible to easily use Airflow 2.0 Operators, Hooks, Sensors, Secrets, Transfers in Airflow 1.10. More stats below, but the Backport Provider packages increase the number of easily-available integrations for Airflow 1.10 users by a whopping <strong>55%</strong>.</p>
+<ul>
+<li>We have <strong>58</strong> backport packages in total. <strong>599</strong> classes (Operators, Hooks, Transfers, Sensors, Secrets)</li>
+<li>We have <strong>213</strong> new (!) classes that have not been easily available to 1.10 users so far:
+<ul>
+<li>Operators: 150</li>
+<li>Transfers: 12</li>
+<li>Sensors: 14</li>
+<li>Hooks: 37</li>
+<li>Secrets: 0</li>
+</ul>
+</li>
+<li>We have 386 classes that were moved. Quite a number of those (hard to say exactly how many) got new features, options, parameters.
+<ul>
+<li>Operators: 204</li>
+<li>Transfers: 36</li>
+<li>Sensors: 46</li>
+<li>Hooks: 96</li>
+<li>Secrets: 4</li>
+</ul>
+</li>
+</ul>
+<p><strong>List of the backport provider packages:</strong></p>
+<blockquote>
+<ol>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-amazon/2020.6.24/">Amazon</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-apache-hdfs/2020.6.24/">Apache HDFS</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-apache-hive/2020.6.24/">Apache Hive</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-apache-livy/2020.6.24/">Apache Livy</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-apache-pig/2020.6.24/">Apache Pig</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-apache-pinot/2020.6.24/">Apache Pinot</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-apache-spark/2020.6.24/">Apache Spark</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-apache-sqoop/2020.6.24/">Apache Sqoop</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-microsoft-azure/2020.6.24/">Azure</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-apache-cassandra/2020.6.24/">Cassandra</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-celery/2020.6.24/">Celery</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-cloudant/2020.6.24/">Cloudant</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-databricks/2020.6.24/">Databricks</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-datadog/2020.6.24/">Datadog</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-dingding/2020.6.24/">Dingding</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-discord/2020.6.24/">Discord</a></li>
+<li><a href="https://p0ypi.org/project/apache-airflow-backport-providers-docker/2020.6.24/">Docker</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-apache-druid/2020.6.24/">Druid</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-elasticsearch/2020.6.24/">Elasticsearch</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-email/2020.6.24/">Email</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-exasol/2020.6.24/">Exasol</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-facebook/2020.6.24/">Facebook</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-ftp/2020.6.24/">FTP</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-google/2020.6.24/">Google</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-grpc/2020.6.24/">GRPC</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-hashicorp/2020.6.24/">Hashicorp</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-http/2020.6.24/">HTTP</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-imap/2020.6.24/">IMAP</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-jdbc/2020.6.24/">JDBC</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-jenkins/2020.6.24/">Jenkins</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-jira/2020.6.24/">JIRA</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-mongo/2020.6.24/">Mongo</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-microsoft-mssql/2020.6.24/">MsSQL</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-mysql/2020.6.24/">MySQL</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-odbc/2020.6.24/">ODBC</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-openfaas/2020.6.24/">OpenFAAS</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-opsgenie/2020.6.24/">OpsGenie</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-oracle/2020.6.24/">Oracle</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-pagerduty/2020.6.24/">PagerDuty</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-postgres/2020.6.24/">Postgres</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-presto/2020.6.24/">Presto</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-qubole/2020.6.24/">Qubole</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-redis/2020.6.24/">Redis</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-salesforce/2020.6.24/">Salesforce</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-samba/2020.6.24/">Samba</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-segment/2020.6.24/">Segment</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-sftp/2020.6.24/">SFTP</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-singularity/2020.6.24/">Singularity</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-slack/2020.6.24/">Slack</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-snowflake/2020.6.24/">Snowflake</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-sqlite/2020.6.24/">Sqlite</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-ssh/2020.6.24/">SSH</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-vertica/2020.6.24/">Vertica</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-microsoft-winrm/2020.6.24/">Winrm</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-yandex/2020.6.24/">Yandex</a></li>
+<li><a href="https://pypi.org/project/apache-airflow-backport-providers-zendesk/2020.6.24/">Zendesk</a></li>
+</ol>
+</blockquote>
+<h1 id="apr-9-2020">Apr 9, 2020</h1>
+<p>We’ve just released Airflow v1.10.10</p>
+<p>PyPI - <a href="https://pypi.org/project/apache-airflow/1.10.10/">https://pypi.org/project/apache-airflow/1.10.10/</a></p>
+<p>Docs - <a href="https://airflow.apache.org/docs/1.10.10/">https://airflow.apache.org/docs/1.10.10/</a></p>
+<p>Changelog - <a href="https://airflow.apache.org/docs/1.10.10/changelog.html">https://airflow.apache.org/docs/1.10.10/changelog.html</a></p>
+<p>199 commits since 1.10.9 (11 New Features, 43 Improvements, 44 Bug Fixes, and several doc changes)</p>
+<h1 id="mar-31-2020">Mar 31, 2020</h1>
+<p>Airflow PMC welcomes <strong>Jiajie Zhong</strong> (<a href="https://github.com/zhongjiajie">@zhongjiajie</a>) as its new committer. Congrats!</p>
+<p>and</p>
+<p><a href="https://www.meetup.com/pl-PL/Warsaw-Airflow-Meetup/events/269763588/">Second Warsaw Airflow Meetup</a> is happening next week and it will be an online event!</p>
+<h1 id="feb-7-2020">Feb 7, 2020</h1>
+<p>We’ve just released Airflow v1.10.8</p>
+<p>PyPI - <a href="https://pypi.org/project/apache-airflow/1.10.8/">https://pypi.org/project/apache-airflow/1.10.8/</a></p>
+<p>Docs - <a href="https://airflow.apache.org/docs/1.10.8/">https://airflow.apache.org/docs/1.10.8/</a></p>
+<p>Changelog - <a href="http://airflow.apache.org/docs/1.10.8/changelog.html#airflow-1-10-8-2020-01-07">http://airflow.apache.org/docs/1.10.8/changelog.html#airflow-1-10-8-2020-01-07</a></p>
+<p>160 commits since 1.10.7 (4 new features, 42 improvements, 36 bug fixes, and several doc changes)</p>
+<p>and</p>
+<p>We’ve just released Airflow 1.10.9 (this one is a quick fix to work around the breaking release of Werkzeug 1.0)</p>
+<p>PyPI - <a href="https://pypi.org/project/apache-airflow/1.10.9/">https://pypi.org/project/apache-airflow/1.10.9/</a></p>
+<p>Docs - <a href="https://airflow.apache.org/docs/1.10.9/">https://airflow.apache.org/docs/1.10.9/</a></p>
+<p>2 commits since 1.10.8 :)</p>
+<h1 id="dec-24-2019">Dec 24, 2019</h1>
+<p>We’ve just released Airflow v1.10.7</p>
+<p>PyPI - <a href="https://pypi.org/project/apache-airflow/1.10.7/">https://pypi.org/project/apache-airflow/1.10.7/</a></p>
+<p>Docs - <a href="https://airflow.readthedocs.io/en/1.10.7/">https://airflow.readthedocs.io/en/1.10.7/</a></p>
+<p>Changelog - <a href="https://github.com/apache/airflow/blob/1.10.7/CHANGELOG.txt">https://github.com/apache/airflow/blob/1.10.7/CHANGELOG.txt</a></p>
+<p>217 commits since 1.10.6 including some Critical Bugfixes and Performance Improvements (17 new features, 57 improvements, 52 bug fixes, and several doc changes)</p>
+<h1 id="dec-20-2019">Dec 20, 2019</h1>
+<p>Airflow PMC welcomes <strong>Tomasz Urbaszek</strong> (<a href="https://github.com/turbaszek">@turbaszek</a>) as its new committer. Congrats!</p>
+<h1 id="nov-30-2019">Nov 30, 2019</h1>
+<p>Airflow PMC welcomes <strong>Kengo Seki</strong> (<a href="https://github.com/sekikn">@sekikn</a>) to both its committer and PMC ranks. Congrats!</p>
+<h1 id="nov-27-2019">Nov 27, 2019</h1>
+<p>New website for Apache Airflow is live : <a href="https://airflow.apache.org">https://airflow.apache.org</a></p>
+<p>Same URL with more & better webpages</p>
+<h1 id="nov-21-2019">Nov 21, 2019</h1>
+<p>Airflow PMC has voted in & promoted <strong>Aizhamal Nurmamat kyzy</strong> (<a href="https://github.com/Aizhamal">@Aizhamal</a>) and Kevin Yang (<a href="https://github.com/KevinYang21">@KevinYang21</a>) to be a part of Airflow PMC.</p>
+<h1 id="oct-28-2019">Oct 28, 2019</h1>
+<p>We’ve just released ApacheAirflow v1.10.6</p>
+<p>PyPI - <a href="https://pypi.org/project/apache-airflow/1.10.6/">https://pypi.org/project/apache-airflow/1.10.6/</a></p>
+<p>Docs - <a href="https://airflow.apache.org/1.10.6/">https://airflow.apache.org/1.10.6/</a></p>
+<p>168 commits since 1.10.5 (including 6 new features, 35 improvements, 38 bug fixes, and the usual swathe of doc fixes and CI improvements)</p>
+<h1 id="oct-18-2019">Oct 18, 2019</h1>
+<p>Airflow PMC has voted in & promoted Jarek Potiuk (<a href="https://github.com/higrys">@higrys</a>) to be a PMC Member.</p>
+<p>Jarek has been one of the most active community members and has spread the word about Airflow Well deserved Jarek, congratulations</p>
+<h1 id="sep-24-2019">Sep 24, 2019</h1>
+<p>What do you think of our new logo? <em>#AirflowLogo</em> <em>#ApacheAirflow</em></p>
+<p><img src="/images/airflow_dark_bg.png" alt="Airflow"></p>
+<h1 id="sep-18-2019">Sep 18, 2019</h1>
+<p>Two meetups are happening soon:</p>
+<ol>
+<li><a href="https://www.meetup.com/Seattle-Apache-Airflow-Users-Group/events/263013440/">Seattle, WA on Thursday 19th</a></li>
+<li><a href="https://www.meetup.com/London-Apache-Airflow-Meetup/events/264521028/">London, UK on Tuesday 24th</a></li>
+</ol>
+<p>We’ll put links to any recordings here once they are available.</p>
+<h1 id="sep-9-2019">Sep 9, 2019</h1>
+<p>The PMC has just added two new Airflow Committers :</p>
+<ul>
+<li>
+<p>Felix Uellendall (<a href="https://github.com/feluelle/">@feluelle</a>)</p>
+</li>
+<li>
+<p>Chao-han Tsai (<a href="https://github.com/milton0825/">@milton0825</a>)</p>
+</li>
+</ul>
+<h1 id="sep-4-2019">Sep 4, 2019</h1>
+<p>We’ve just released ApacheAirflow v1.10.5</p>
+<p>PyPI - <a href="https://pypi.org/project/apache-airflow/1.10.5/">https://pypi.org/project/apache-airflow/1.10.5/</a></p>
+<p>Docs - <a href="https://airflow.apache.org/1.10.5/">https://airflow.apache.org/1.10.5/</a></p>
+<p>95 commits since 1.10.4 (including 3 new features, 17 improvements, 23 bug fixes, and lots more doc fixes and CI improvements)</p>
+<h1 id="aug-6-2019">Aug 6, 2019</h1>
+<p>We’ve just released ApacheAirflow v1.10.4</p>
+<p>PyPI - <a href="https://pypi.org/project/apache-airflow/1.10.4/">https://pypi.org/project/apache-airflow/1.10.4/</a></p>
+<p>Docs - <a href="https://airflow.apache.org/1.10.4/">https://airflow.apache.org/1.10.4/</a></p>
+<p>377 commits since 1.10.3 (including 50 new features, 107 improvements, 91 bug fixes, and lots more doc fixes and CI improvements)</p>
+<h1 id="may-15-2019">May 15, 2019</h1>
+<p>The community welcomes the latest Apache Airflow meetup group: The <a href="https://www.meetup.com/Melbourne-Apache-Airflow-Meetup/">Melbourne Apache Airflow meetup</a>. Stay tuned for its first meetup event!</p>
+<h1 id="may-2-2019">May 2, 2019</h1>
+<p>The Apache Airflow PMC welcomes a slew of new committers to it ranks! The following contributors are now Airflow Committers:</p>
+<ul>
+<li>Daniel Imberman (<a href="https://github.com/dimberman">@dimberman</a>)</li>
+<li>Jarek Potiuk (<a href="https://github.com/higrys">@higrys</a>)</li>
+<li>Bas Harenslak (<a href="https://github.com/BasPH">@BasPH</a>)</li>
+<li>Joshua Carp (<a href="https://github.com/jmcarp">@jmcarp</a>)</li>
+<li>Kevin Yang (<a href="https://github.com/KevinYang21">@KevinYang21</a>)</li>
+<li>Kamil Bregula (<a href="https://github.com/mik-laj">@mik-laj</a>)</li>
+</ul>
+<p>Congratulations folks - Very well deserved.</p>
+<h1 id="apr-10-2019">Apr 10, 2019</h1>
+<p>New Apache Airflow release 1.10.3 is out!</p>
+<p>Pypi - <a href="https://pypi.org/project/apache-airflow/1.10.3/">https://pypi.org/project/apache-airflow/1.10.3/</a> (Run <code>pip install apache-airflow</code>)</p>
+<p>Changelog - <a href="https://airflow.apache.org/1.10.3/changelog.html#airflow-1-10-3-2019-04-09">https://airflow.apache.org/1.10.3/changelog.html#airflow-1-10-3-2019-04-09</a></p>
+<p>This release no longer needs the SLUGIFY_USES_TEXT_UNIDECODE/AIRFLOW_GPL_UNIDECODE environment variables at install time to avoid the GPL dependency!</p>
+<h1 id="apr-3-2019">Apr 3, 2019</h1>
+<p>The <a href="https://www.meetup.com/NYC-Apache-Airflow-Meetup/">Apache Airflow NYC meetup</a> is having its next meetup on April 29, 2019 – more details <a href="https://www.meetup.com/NYC-Apache-Airflow-Meetup/events/260257700/">here</a>.</p>
+<p>If you are in or around NYC, please be sure to check it out!</p>
+<h1 id="mar-18-2019">Mar 18, 2019</h1>
+<p>The Apache Airflow PMC welcomes new committer, <strong>Daniel Imberman</strong> (<a href="https://github.com/dimberman">@dimberman</a>).</p>
+<h1 id="mar-7-2019">Mar 7, 2019</h1>
+<p>The Apache Airflow PMC welcomes new committer, <strong>Xiaodong Deng</strong> (<a href="https://github.com/XD-DENG">XD-DENG</a>)</p>
+<h1 id="feb-14-2019">Feb 14, 2019</h1>
+<p>We are pleased to announce our newest Meetup, this one in <a href="https://www.meetup.com/Portland-Apache-Airflow-Meetup/">Portland, Oregon, USA</a>.</p>
+<h1 id="jan-22-2019">Jan 22, 2019</h1>
+<p>New Apache Airflow release 1.10.2 is out!</p>
+<p>Pypi - <a href="https://pypi.python.org/pypi/apache-airflow">https://pypi.python.org/pypi/apache-airflow</a> (Run <code>pip install apache-airflow</code>)</p>
+<p>Changelog - <a href="https://airflow.apache.org/changelog.html#airflow-1-10-2-2019-01-19">https://airflow.apache.org/changelog.html#airflow-1-10-2-2019-01-19</a></p>
+<p>By default one of Airflow’s dependencies installs a GPL dependency (unidecode). To avoid this dependency set <strong>SLUGIFY_USES_TEXT_UNIDECODE=yes</strong> in your environment when you install or upgrade Airflow. To force installing the GPL version set <strong>AIRFLOW_GPL_UNIDECODE</strong>. One of these two environment variables must be specified.</p>
+<h1 id="jan-9-2019">Jan 9, 2019</h1>
+<p>The <a href="https://www.meetup.com/Paris-Apache-Airflow-Meetup/">Apache Airflow Paris meetup</a> is having its second meetup on Feb 6, 2019 – more details <a href="https://www.meetup.com/Paris-Apache-Airflow-Meetup/events/257702755/">here</a>.</p>
+<p>If you are in or around Paris, please be sure to check it out!</p>
+<h1 id="jan-8-2019">Jan 8, 2019</h1>
+<p>Apache Airflow graduates from the Incubator and is now a TLP!</p>
+<ul>
+<li>
+<p>ASF PR announcements</p>
+<ul>
+<li><a href="http://globenewswire.com/news-release/2019/01/08/1681851/0/en/The-Apache-Software-Foundation-Announces-Apache-Airflow-as-a-Top-Level-Project.html">GlobeNewswire</a></li>
+<li><a href="https://s.apache.org/LeeE">ASF “Foundation” Blog</a></li>
+<li><a href="https://twitter.com/TheASF/status/1082593312421208064">The ASF Twitter Feed</a></li>
+<li><a href="https://www.linkedin.com/company/the-apache-software-foundation">The ASF on LinkedIn</a></li>
+<li>You can find more announcements on our twitter account as well : <a href="https://twitter.com/ApacheAirflow">@ApacheAirflow</a></li>
+</ul>
+</li>
+<li>
+<p>Community Blogs</p>
+<ul>
+<li><a href="https://medium.com/wbaa/apache-airflow-announced-as-a-top-level-project-how-does-ing-wb-advanced-analytics-use-airflow-ed7990ffba9c">Apache Airflow announced as a Top-Level Project — How does ING WB Advanced Analytics use Airflow?</a></li>
+<li><a href="https://medium.com/@r39132/apache-airflow-grows-up-c820ee8a8324">Apache Airflow Grows Up!</a></li>
+</ul>
+</li>
+</ul>
+<h1 id="nov-21-2018">Nov 21, 2018</h1>
+<p>New Apache Airflow release 1.10.1-incubating is out!</p>
+<p>Pypi - <a href="https://pypi.python.org/pypi/apache-airflow">https://pypi.python.org/pypi/apache-airflow</a> (Run <code>pip install apache-airflow</code>)</p>
+<p>Changelog - <a href="https://github.com/apache/incubator-airflow/blob/v1-10-test/CHANGELOG.txt">https://github.com/apache/incubator-airflow/blob/v1-10-test/CHANGELOG.txt</a></p>
+<p>By default one of Airflow’s dependencies installs a GPL dependency (unidecode). To avoid this dependency set <strong>SLUGIFY_USES_TEXT_UNIDECODE=yes</strong> in your environment when you install or upgrade Airflow. To force installing the GPL version set <strong>AIRFLOW_GPL_UNIDECODE</strong>. One of these two environment variables must be specified.</p>
+<h1 id="oct-16-2018">Oct 16, 2018</h1>
+<p>We are excited to announce that the <a href="https://www.meetup.com/Paris-Apache-Airflow-Meetup/">Paris Apache Airflow Meetup</a> will be hosting its <a href="https://www.meetup.com/Paris-Apache-Airflow-Meetup/events/255336471/">inaugural meetup on Nov 21</a></p>
+<p>Speakers include <a href="https://www.chauffeur-prive.com/">Chauffeur Prive</a> (event organizer). More to come soon!</p>
+<h1 id="sept-17-2018">Sept 17, 2018</h1>
+<p>The Singapore Big Data Meetup will host “Intro to Airflow” via <a href="https://github.com/XD-DENG">@XD-DENG</a> on Sept 27, 2018! Check it out! <a href="http://bit.ly/2PMgABT">http://bit.ly/2PMgABT</a></p>
+<h1 id="sept-10-2018">Sept 10, 2018</h1>
+<p>We are excited to announce that the <a href="https://www.meetup.com/London-Apache-Airflow-Meetup/">London Apache Airflow Meetup</a> will be hosting its <a href="https://www.meetup.com/London-Apache-Airflow-Meetup/events/253076795/">inaugural meetup on Sept 20</a>.</p>
+<p>Speakers include London committer Ash Berlin-Taylor & Ben Marengo from Just Eat!</p>
+<h1 id="sept-9-2018">Sept 9, 2018</h1>
+<p>The <a href="https://www.meetup.com/Bay-Area-Apache-Airflow-Incubating-Meetup/">Bay Area Apache Airflow Meetup</a> group will be hosting its <a href="https://www.meetup.com/Bay-Area-Apache-Airflow-Incubating-Meetup/events/253105418/">next meetup at Google on Sept 24!</a>.</p>
+<p>Five 20-minute talks followed by 6 lightning sessions! Come one, come all!</p>
+<h1 id="sept-8-2018">Sept 8, 2018</h1>
+<p>We welcome the 7th & latest regional Apache Airflow Meetup, this one in <a href="https://lnkd.in/dYt2hE8">Seattle</a>.</p>
+<h1 id="aug-26-2018">Aug 26, 2018</h1>
+<p>The Apache Airflow Meetup group in Amsterdam will be hosting its <a href="https://www.meetup.com/Amsterdam-Airflow-meetup/events/253673642/">2nd meetup at GoDataDriven on Sep 12</a>.</p>
+<h1 id="aug-20-2018">Aug 20, 2018</h1>
+<p>New Apache Airflow release 1.10.0-incubating is out!</p>
+<p>Pypi - <a href="https://pypi.python.org/pypi/apache-airflow">https://pypi.python.org/pypi/apache-airflow</a> (Run <code>pip install apache-airflow</code>)</p>
+<p>Changelog - <a href="https://github.com/apache/incubator-airflow/blob/8100f1f/CHANGELOG.txt">https://github.com/apache/incubator-airflow/blob/8100f1f/CHANGELOG.txt</a></p>
+<p>By default one of Airflow’s dependencies installs a GPL dependency (unidecode). To avoid this dependency set <strong>SLUGIFY_USES_TEXT_UNIDECODE=yes</strong> in your environment when you install or upgrade Airflow. To force installing the GPL version set <strong>AIRFLOW_GPL_UNIDECODE</strong>. One of these two environment variables must be specified.</p>
+<h1 id="aug-3-2018">Aug 3, 2018</h1>
+<p>The Apache Airflow PPMC welcomes new committer and PPMC member, Tao Feng (<a href="https://github.com/feng-tao">@feng-tao</a>)</p>
+<h1 id="jun-1-2018">Jun 1, 2018</h1>
+<p>We’re happy to welcome a new Apache Airflow Meetup group – this one in <a href="https://www.meetup.com/London-Apache-Airflow-Meetup/">London, UK</a></p>
+<h1 id="may-23-2018">May 23, 2018</h1>
+<p>We’re happy to welcome a new Apache Airflow Meetup group – this one in <a href="https://www.meetup.com/Chicago-Apache-Airflow-incubating-Meetup/">Chicago</a>.</p>
+<h1 id="may-7-2018">May 7, 2018</h1>
+<p>The Apache Airflow PPMC welcomes new committer and PPMC member, <strong>Kaxil Naik</strong> (<a href="https://github.com/kaxil">@Kaxil</a>)</p>
+<h1 id="apr-9-2018">Apr 9, 2018</h1>
+<p>The <a href="https://www.meetup.com/Bay-Area-Apache-Airflow-Incubating-Meetup/">Bay Area Apache Airflow Meetup</a> group will be hosting a <a href="https://www.meetup.com/Bay-Area-Apache-Airflow-Incubating-Meetup/events/247127561/">meetup on April 11 at WePay</a>.</p>
+<p>Speakers from Slack, Google, and WePay will be presenting.</p>
+<h1 id="feb-15-2018">Feb 15, 2018</h1>
+<p>The Apache Airflow PPMC welcomes new committer and PPMC member, <strong>Ash Berlin-Taylor</strong> (<a href="https://github.com/ashb">@ashb</a>)</p>
+<h1 id="jan-2-2018">Jan 2, 2018</h1>
+<p>New Apache Airflow release 1.9.0-incubating is out!</p>
+<p>Pypi - <a href="https://pypi.python.org/pypi/apache-airflow">https://pypi.python.org/pypi/apache-airflow</a> (Run <code>pip install apache-airflow</code>)</p>
+<p>ReleaseNotes - <a href="https://github.com/apache/incubator-airflow/blob/master/CHANGELOG.txt">https://github.com/apache/incubator-airflow/blob/master/CHANGELOG.txt</a></p>
+<p>Special Thanks to Chris Riccomini (<a href="https://github.com/criccomini">@criccomini</a>) and Bolke de Bruin (<a href="https://github.com/bolkedebruin">@bolkedebruin</a>) for tirelessly shepherding this release!</p>
+<h1 id="nov-30-2017">Nov 30, 2017</h1>
+<p>The Apache Airflow PPMC welcomes new committer and PPMC member, <strong>Joy Gao</strong> (<a href="https://github.com/joygao">@joygao</a>)</p>
+<h1 id="nov-27-2017">Nov 27, 2017</h1>
+<p>The Apache Airflow Meetup group in Amsterdam will be hosting its <a href="https://www.meetup.com/Amsterdam-Airflow-meetup/events/245382408/?eventId=245382408">1st meetup (Heineken) on Dec 21</a>.</p>
+<p>Niels Zeilemaker from GoDataDriven will present Using Azure Container Instances as a cheap method to run Heineken data science workloads, and Daniel van der Ende from ING Wholesale banking Advanced Analytics will talk about Data Tests using Apache Airflow.</p>
+<h1 id="nov-5-2017">Nov 5, 2017</h1>
+<p>We'’re happy to welcome a new Apache Airflow Meetup group in <a href="https://www.meetup.com/Amsterdam-Airflow-meetup/">Amsterdam</a></p>
+<h1 id="nov-1-2017">Nov 1, 2017</h1>
+<p>Next Bay Area Airflow meet-up hosted by <a href="https://www.meetup.com/Bay-Area-Apache-Airflow-Incubating-Meetup/events/244525050/">Airbnb this December (Dec 4)</a></p>
+<p>Slides are available <a href="https://drive.google.com/drive/folders/154jnUADKfrHXLUDvJBQOl8aiBwpaw9-w">here</a>.</p>
+<h1 id="oct-1-2017">Oct 1, 2017</h1>
+<p>The Apache Airflow PPMC welcomes new committer and PPMC member, <strong>Fokko Driespong</strong> (<a href="https://github.com/fokko">@fokko</a>)</p>
+<h1 id="sept-6-2017">Sept 6, 2017</h1>
+<p>New Apache Airflow release 1.8.2-incubating is out!</p>
+<p>Pypi - <a href="https://pypi.python.org/pypi/apache-airflow">https://pypi.python.org/pypi/apache-airflow</a></p>
+<p>Release Notes - <a href="http://bit.ly/2gH9QFx">http://bit.ly/2gH9QFx</a></p>
+<p>Special Thanks to Maxime Beauchemin (<a href="https://github.com/mistercrunch">@mistercrunch</a>) for tirelessly shepherding this release!</p>
+<h1 id="april-12-2017">April 12, 2017</h1>
+<p>We'’re happy to welcome a new Apache Meetup group in <a href="https://www.meetup.com/Tokyo-Apache-Airflow-incubating-Meetup/">Tokyo</a></p>
+<p>Their first event is being held on <a href="https://www.meetup.com/Tokyo-Apache-Airflow-incubating-Meetup/events/238731591/">May 11</a></p>
+<p>Slides :</p>
+<ul>
+<li>
+<p><a href="https://speakerdeck.com/takus/building-data-pipelines-with-apache-airflow">Building data pipelines with Apache Airflow (Kaizen Platform)</a> via @takus</p>
+</li>
+<li>
+<p><a href="https://speakerdeck.com/hatappi/airflowkarakuroko2nicheng-rihuan-etawake">Yahoo! Japan’s path from Oozie to Apache Airflow</a> via @tmk_ueks</p>
+</li>
+<li>
+<p><a href="https://www.slideshare.net/techblogyahoo/oozieairflow-apacheairflow-oozie">Apache Airflow and Kuroko 2 @hatappi</a></p>
+</li>
+</ul>
+<h1 id="march-19-2017">March 19, 2017</h1>
+<p>The first official Apache Airflow release (1.8.0-incubating) is out!</p>
+<p><strong>Git Tag:</strong> <a href="https://github.com/apache/incubator-airflow/releases/tag/1.8.0%2Bapache.incubating">https://github.com/apache/incubator-airflow/releases/tag/1.8.0%2Bapache.incubating</a></p>
+<p><strong>Change log:</strong> 205 commits as shown in <a href="https://github.com/apache/incubator-airflow/blob/1.8.0%2Bapache.incubating/CHANGELOG.txt">Changelog (1.8.0-incubating)</a></p>
+<p><strong>PyPi:</strong> coming soon, check <a href="https://pypi.python.org/pypi/airflow">https://pypi.python.org/pypi/airflow</a></p>
+<ul>
+<li>
+<p>Once available, you can install via :</p>
+<pre><code> pip install airflow --upgrade
+</code></pre>
+</li>
+</ul>
+<p><strong>Note:</strong> remember to run <code>airflow upgradedb</code> after installation</p>
+<p>Thanks to everyone in the community that helped bring this about. A special thanks is due to Bolke de Bruin (<a href="https://github.com/bolkedebruin">@bolkedebruin</a>) for valiantly shepherding this release!</p>
+<h1 id="mar-14-2017">Mar 14, 2017</h1>
+<p>The Apache Airflow PPMC welcomes new committer and PPMC member, <strong>Alex Guziel</strong> (<a href="https://github.com/saguziel">@saguziel</a>)</p>
+<h1 id="feb-3-2017">Feb 3, 2017</h1>
+<p>We'’re happy to welcome a new <a href="https://www.meetup.com/NYC-Apache-Airflow-incubating-Meetup/">Apache Meetup group in NYC</a></p>
+<h1 id="feb-2-2017">Feb 2, 2017</h1>
+<p>Next Bay Area Apache Airflow Meet-up (at PayPal) on Mar 14 : <a href="http://bit.ly/2knyNHv">http://bit.ly/2knyNHv</a></p>
+<h1 id="jan-30-2017">Jan 30, 2017</h1>
+<p>Next New York Apache Airflow Meet-up (at Blue Apron) on Feb 1</p>
+<p><strong>Sign-up:</strong> <a href="https://docs.google.com/spreadsheets/d/1WmfgZeExSVdLf-u1uh3IleeHy8QTwaJ4BkkSkVM-X1E/edit#gid=0">https://docs.google.com/spreadsheets/d/1WmfgZeExSVdLf-u1uh3IleeHy8QTwaJ4BkkSkVM-X1E/edit#gid=0</a></p>
+<p><strong>Time:</strong> 6:30 - 9pm EST</p>
+<p><strong>Location:</strong> 40 W 23rd St. New York, NY 10010 (5th floor)</p>
+<h1 id="nov-28-2016">Nov 28, 2016</h1>
+<p>The Apache Airflow PPMC welcomes new committer and PPMC member, <strong>Alex Van Boxel</strong> (<a href="https://github.com/alexvanboxel">@alexvanboxel</a>)</p>
+<p>Video from the <a href="http://bit.ly/2dwKNls">Nov 16 meet-up</a> (at WePay) is now available at : <a href="https://wepayinc.app.box.com/s/1183ra3z8gxf8fridysu4wbjckg1s05v">https://wepayinc.app.box.com/s/1183ra3z8gxf8fridysu4wbjckg1s05v</a></p>
+<h1 id="oct-12-2016">Oct 12, 2016</h1>
+<p>New Apache Airflow Meet-up (at WePay) on Nov 16 : <a href="http://bit.ly/2dwKNls">http://bit.ly/2dwKNls</a></p>
+<h1 id="sept-21-2016">Sept 21, 2016</h1>
+<p>New Apache Airflow Meet-up (at Stripe) on Sept 21 : <a href="http://www.meetup.com/Bay-Area-Apache-Airflow-Incubating-Meetup/events/233316814/">http://www.meetup.com/Bay-Area-Apache-Airflow-Incubating-Meetup/events/233316814/</a></p>
+<h1 id="sept-6-2016">Sept 6, 2016</h1>
+<p>New Warsaw (Poland) Hadoop User Group Meet-up on Sept 14 : <a href="http://www.meetup.com/warsaw-hug/events/233912332/">http://www.meetup.com/warsaw-hug/events/233912332/</a></p>
+<h1 id="august-19-2016">August 19, 2016</h1>
+<p>The Apache Airflow PPMC welcomes new committer and PPMC member, <strong>Li Xuanji</strong> (<a href="https://github.com/zodiac">@zodiac</a>))</p>
+<h1 id="august-16-2016">August 16, 2016</h1>
+<p>The Apache Airflow PPMC welcomes new committer and PPMC member, <strong>Sumit Maheshwari</strong> (<a href="https://github.com/msumit">@msumit</a>)</p>
+<h1 id="june-15-2016">June 15, 2016</h1>
+<p>Video of yesterday’s Apache Airflow Meet-up talk featuring talks from WePay, Agari, and Yahoo is now available at <a href="http://bit.ly/1S69hOr">http://bit.ly/1S69hOr</a></p>
+<h1 id="may-27-2016">May 27, 2016</h1>
+<p>The first-ever Airflow Contributor Meeting will take place at 11AM PST on June 1st.</p>
+<p><a href="https://airbnb.webex.com/join/gurer.kiratli">https://airbnb.webex.com/join/gurer.kiratli</a></p>
+<p><strong>Agenda</strong></p>
+<ul>
+<li>Ways to mitigate risks when rolling out new Airflow releases into production</li>
+<li>Clarifying the process for working on large efforts</li>
+<li>Refreshing the current roadmap</li>
+<li>Communicate about how Airbnb will share information about sprints and internal roadmap moving forward</li>
+</ul>
+<h1 id="may-20-2016">May 20, 2016</h1>
+<p>Airflow <strong>1.7.1.2</strong> released: <a href="https://pypi.python.org/pypi/airflow/1.7.1.2">Pypi</a> or via <a href="https://github.com/apache/incubator-airflow/releases/tag/1.7.1.2">Git tag</a> – 214 commits as per <a href="https://github.com/apache/incubator-airflow/blob/master/CHANGELOG.txt">CHANGELOG.txt</a></p>
+<ul>
+<li>
+<p>To install via Pypi,</p>
+<ul>
+<li>
+<p>on a fresh install (e.g. fresh virtualenv install)</p>
+<pre><code> pip install airflow (or pip install airflow==1.7.1.2)
+</code></pre>
+</li>
+<li>
+<p>or upgrade via</p>
+<pre><code> pip install airflow --upgrade
+</code></pre>
+</li>
+</ul>
+</li>
+</ul>
+<p>Special thanks to Dan Davydov (<a href="https://github.com/aoen">@aoen</a>) for tirelessly shepherding this release!</p>
+<h1 id="may-20-2016-1">May 20, 2016</h1>
+<p><strong>Steven Yvinec-Kruyk</strong> (<a href="https://github.com/syvineckruyk">@syvineckruyk</a>) joins the <a href="https://cwiki.apache.org/confluence/display/AIRFLOW/Committers">Apache Airflow Committer and PPMC group</a> today. Please give him a hearty welcome and of course.. ask him to review your PRs and answer any questions you may have :)</p>
+<h1 id="april-29-2016">April 29, 2016</h1>
+<p>Want to keep abreast of new Apache Airflow updates (e.g. releases, meet-ups, new features, conference talks, etc… ), follow our newly-minted Twitter account : <a href="https://twitter.com/ApacheAirflow">@ApacheAirflow</a></p>
+<h1 id="april-27-2016">April 27, 2016</h1>
+<p>We are starting the migration to Apache Infrastructure (e.g. GitHub Issues –> Jira, Airbnb/Airflow GitHub to Apache/Airflow GitHub, Airbnb/Airflow GitHub Wiki to Apache Airflow Confluence Wiki)</p>
+<ul>
+<li>The progress and migration status will be tracked on <a href="https://airflow.apache.org/announcements/">Migrating to Apache</a></li>
+<li>We expect this to take roughly 1 week. On and after May 4, we expect to be using Apache infrastructure exclusively. To prepare for that day, start using the new Apache infrastructure and follow instructions on this JIRA ticket <a href="https://issues.apache.org/jira/browse/AIRFLOW-11">AIRFLOW-11</a> to set up your accounts.</li>
+</ul>
+<h1 id="april-22-2016">April 22, 2016</h1>
+<p>Sid Anand (<a href="https://github.com/r39132">@r39132</a>) will be speaking on July 23 at <a href="http://datadayseattle.com/sessions#anand">Data Day Seattle</a></p>
+<ul>
+<li>If there is enough interest, I’d be happy to also speak at a meetup</li>
+</ul>
+<h1 id="april-12-2016">April 12, 2016</h1>
+<p>A 1.7.1. lightweight tag was mistakenly pushed to master - we don’t
+yet have a viable 1.7.1 release candidate. On April 12, <a href="https://github.com/r39132">@r39132</a> deleted the tag on master</p>
+<h1 id="april-6-2016">April 6, 2016</h1>
+<p>We now have an Apache Airflow meet-up group for folks in the Bay Area: Sign up today to get notified of upcoming meet-ups!</p>
+<ul>
+<li><a href="http://www.meetup.com/Bay-Area-Apache-Airflow-Incubating-Meetup/">Bay Area Apache Airflow (Incubating) Meetup</a></li>
+</ul>
+<h1 id="march-28-2016">March 28, 2016</h1>
+<p>Folks, A new release (1.7.0) is out via <a href="https://pypi.python.org/pypi/airflow/1.7.0">Pypi</a> and <a href="https://github.com/airbnb/airflow/releases/tag/1.7.0">git tag</a></p>
+<h1 id="march-24-2016">March 24, 2016</h1>
+<p>Folks, A new release candidate version of Airflow is ready for the community to try: <strong>1.7.0rc1</strong></p>
+<ul>
+<li>Please check it out and report any issues that you see</li>
+</ul>
+<h1 id="march-19-2016">March 19, 2016</h1>
+<p>This week, we applied for Airflow’s entry to the Apache Incubator</p>
+<ul>
+<li><a href="https://wiki.apache.org/incubator/AirflowProposal">Airflow Proposal</a></li>
+<li>We promoted several contributors to committers based on a proven track-record of contributions to the project and a strong commitment to improving the project going forward</li>
+<li>We published a <a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=62694601">WIP Roadmap [ARCHIVED]</a> and welcome comments and input from the community</li>
+</ul>
+<h1 id="march-1-2016">March 1, 2016</h1>
+<p>Airbnb will be hosting the very first Airflow meetup at Airbnb HQ (888 Brannan, in SF) on March 28th.</p>
+<p>We’re planning on doing this regularly, and want to put a good line up of food, drinks and talks for you all.</p>
+<p>It should be pretty informal, but here’s a draft of the schedule for the night:</p>
+<ul>
+<li>meet, geet and eat</li>
+<li>updates on the project, roadmap & upcoming Airbnb sprints</li>
+<li>present advanced/complex Airbnb Airflow use cases (A/B testing framework, anomaly detection or something of that nature)</li>
+<li>Sid Anand will share about how they use Airflow at Agari</li>
+<li>Q/A for the core project team</li>
+<li>Community open mic, step up and make announcements if you’re recruiting, looking for help, planning on working on a feature, …</li>
+<li>Define list of subjects of interest on a whiteboard for breaking into subject specific subgroups for discussion</li>
+</ul>
+<p>Please RSVP here: <a href="https://www.airbnb.com/meetups/daywndmbd-airflow">https://www.airbnb.com/meetups/daywndmbd-airflow</a></p>
+<p>We’re planning on starting to have Airflow meetups regularly, so stay tuned!</p>
+
+
+
+ </main>
+
+
+<div class="base-layout--button">
+
+ <a href=https://github.com/apache/airflow-site/edit/main/landing-pages/site/content/en/announcements/_index.md>
+
+
+
+<button class="btn-hollow btn-brown btn-with-icon with-box-shadow button-fixed">
+ <svg xmlns="http://www.w3.org/2000/svg" width="30.76" height="30">
+ <path d="M15.379 0a15.381 15.381 0 00-4.86 29.974c.769.141 1.05-.334 1.05-.741 0-.365-.013-1.332-.021-2.616-4.278.929-5.181-2.062-5.181-2.062a4.071 4.071 0 00-1.708-2.25c-1.4-.954.106-.935.106-.935a3.231 3.231 0 012.356 1.585 3.274 3.274 0 004.476 1.278 3.287 3.287 0 01.976-2.056c-3.415-.388-7.005-1.707-7.005-7.6a5.947 5.947 0 011.583-4.127 5.53 5.53 0 01.151-4.07s1.291-.413 4.229 1.577a14.577 14.577 0 017.7 0c2.936-1.99 4.225-1.577 4.225-1.577a5.523 5.523 0 01.153 4.07 5.937 5.937 0 [...]
+ data-name="Path 224" fill="#51504f" fill-rule="evenodd"/>
+</svg>
+
+ <span class="bodytext__medium--brownish-grey">Suggest a change on this page</span>
+</button>
+
+ </a>
+</div>
+
+ </div>
+</div>
+
+
+
+<footer>
+ <div class="footer-section footer-section__media-section">
+ <div class="d-flex align-items-center">
+
+
+
+ <a class="footer-section__media-section--link" target="_blank" href="https://github.com/apache/airflow/">
+ <svg xmlns="http://www.w3.org/2000/svg" width="46.14" height="45" viewBox="0 0 46.14 45">
+ <path id="Path_207" d="M228.962 1078.578a23.072 23.072 0 0 0-7.29 44.96c1.154.212 1.574-.5 1.574-1.112 0-.548-.02-2-.031-3.924-6.417 1.394-7.771-3.093-7.771-3.093a6.109 6.109 0 0 0-2.562-3.375c-2.095-1.431.159-1.4.159-1.4a4.846 4.846 0 0 1 3.533 2.377c2.058 3.525 5.4 2.507 6.714 1.917a4.926 4.926 0 0 1 1.464-3.084c-5.123-.582-10.508-2.562-10.508-11.4a8.919 8.919 0 0 1 2.374-6.191 8.3 8.3 0 0 1 .226-6.105s1.937-.62 6.344 2.365a21.857 21.857 0 0 1 11.551 0c4.4-2.985 6.338-2.365 6.338-2 [...]
+</svg>
+
+ </a>
+
+ <a class="footer-section__media-section--link" target="_blank" href="https://apache-airflow.slack.com/">
+ <svg xmlns="http://www.w3.org/2000/svg" width="45.073" height="45.073" viewBox="0 0 45.073 45.073">
+ <g id="Group_208" data-name="Group 208" transform="translate(-661.145 -806.287)">
+ <g id="Group_204" data-name="Group 204" transform="translate(661.145 830.01)">
+ <path id="Path_208" d="M670.634 856.859a4.744 4.744 0 1 1-4.744-4.744h4.744z" fill="#fff" data-name="Path 208" transform="translate(-661.145 -852.115)"/>
+ <path id="Path_209" d="M684.059 856.859a4.744 4.744 0 0 1 9.489 0v11.861a4.744 4.744 0 1 1-9.489 0z" fill="#fff" data-name="Path 209" transform="translate(-672.198 -852.115)"/>
+ </g>
+ <g id="Group_205" data-name="Group 205" transform="translate(661.145 806.287)">
+ <path id="Path_210" d="M688.8 815.776a4.744 4.744 0 1 1 4.744-4.745v4.745z" fill="#fff" data-name="Path 210" transform="translate(-672.198 -806.287)"/>
+ <path id="Path_211" d="M677.751 829.2a4.744 4.744 0 0 1 0 9.489H665.89a4.744 4.744 0 1 1 0-9.489z" fill="#fff" data-name="Path 211" transform="translate(-661.145 -817.34)"/>
+ </g>
+ <g id="Group_206" data-name="Group 206" transform="translate(684.868 806.287)">
+ <path id="Path_212" d="M729.887 833.945a4.744 4.744 0 1 1 4.745 4.745h-4.745z" fill="#fff" data-name="Path 212" transform="translate(-718.026 -817.34)"/>
+ <path id="Path_213" d="M716.462 822.893a4.744 4.744 0 1 1-9.489 0v-11.862a4.744 4.744 0 0 1 9.489 0z" fill="#fff" data-name="Path 213" transform="translate(-706.973 -806.287)"/>
+ </g>
+ <g id="Group_207" data-name="Group 207" transform="translate(684.868 830.01)">
+ <path id="Path_214" d="M711.718 875.029a4.744 4.744 0 1 1-4.745 4.744v-4.744z" fill="#fff" data-name="Path 214" transform="translate(-706.973 -863.168)"/>
+ <path id="Path_215" d="M711.718 861.6a4.744 4.744 0 1 1 0-9.489h11.861a4.744 4.744 0 0 1 0 9.489z" fill="#fff" data-name="Path 215" transform="translate(-706.973 -852.115)"/>
+ </g>
+ </g>
+</svg>
+
+ </a>
+
+ <a class="footer-section__media-section--link" target="_blank" href="https://stackoverflow.com/questions/tagged/airflow/">
+ <svg xmlns="http://www.w3.org/2000/svg" width="37.647" height="44.6" viewBox="0 0 37.647 44.6">
+ <g id="Group_209" data-name="Group 209" transform="translate(-645.2 -975.455)">
+ <path id="Path_216" d="M677.028 1043.1v-11.948h3.966v15.914H645.2v-15.914h3.966v11.948z" fill="#fff" data-name="Path 216" transform="translate(0 -27.014)"/>
+ <path id="Path_217" d="M661.012 1003.008l19.467 4.069.824-3.914-19.467-4.069zm2.575-9.27l18.025 8.395 1.648-3.605-18.025-8.446zm5-8.858l15.3 12.721 2.524-3.039-15.3-12.721zm9.888-9.425l-3.193 2.369 11.845 15.965 3.193-2.369zm-17.875 36.617h19.879v-3.966H660.6z" fill="#fff" data-name="Path 217" transform="translate(-7.469)"/>
+ </g>
+</svg>
+
+ </a>
+
+ <a class="footer-section__media-section--link" target="_blank" href="https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/">
+ <svg xmlns="http://www.w3.org/2000/svg" width="49.594" height="34.941" viewBox="0 0 49.594 34.941">
+ <path id="Path_223" d="M1124.557 1230a6.232 6.232 0 0 0-4.385-4.413c-3.867-1.043-19.376-1.043-19.376-1.043s-15.508 0-19.376 1.043a6.232 6.232 0 0 0-4.385 4.413c-1.036 3.893-1.036 12.014-1.036 12.014s0 8.122 1.036 12.015a6.232 6.232 0 0 0 4.385 4.413c3.867 1.043 19.376 1.043 19.376 1.043s15.509 0 19.376-1.043a6.232 6.232 0 0 0 4.385-4.413c1.036-3.893 1.036-12.015 1.036-12.015s.001-8.123-1.036-12.014zm-28.833 19.388v-14.748l12.962 7.374z" fill="#fff" data-name="Path 223" transform="tra [...]
+</svg>
+
+ </a>
+
+
+
+ </div>
+ <div class="footer-section__media-section--button-with-text">
+ <span class="footer-section__media-section--text">Want to be a part of Apache Airflow?</span>
+ <a href="/community/">
+
+
+<button id="" class="btn-filled bodytext__medium--white ">Join community</button>
+
+ </a>
+ </div>
+ </div>
+ <div class="footer-section footer-section__policies-section">
+ <div class="footer-section">
+ <span>© The Apache Software Foundation 2025</span>
+ <div class="footer-section__policies-section--policies">
+
+
+
+ <a href="https://www.apache.org/licenses/" class="footer-section__policies-section--policy-item">
+ <span>License</span>
+ </a>
+
+ <a href="https://www.apache.org/foundation/sponsorship.html" class="footer-section__policies-section--policy-item">
+ <span>Donate</span>
+ </a>
+
+ <a href="https://www.apache.org/foundation/thanks.html" class="footer-section__policies-section--policy-item">
+ <span>Thanks</span>
+ </a>
+
+ <a href="https://www.apache.org/security/" class="footer-section__policies-section--policy-item">
+ <span>Security</span>
+ </a>
+
+ <a href="/privacy-notice/" class="footer-section__policies-section--policy-item">
+ <span>Privacy notice</span>
+ </a>
+
+ <a href="/code-of-conduct/" class="footer-section__policies-section--policy-item">
+ <span>Code of Conduct</span>
+ </a>
+
+
+
+ <div class="footer-section__policies-section--language-toggle">
+
+
+
+<a class="dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
+ <span>English</span>
+</a>
+<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+</div>
+
+ </div>
+ </div>
+ </div>
+ <span class="footer-section__policies-section--disclaimer">
+ Apache Airflow, Apache, Airflow, the Airflow logo, and the Apache feather logo are either registered trademarks or trademarks of
+ <a href="https://apache.org/">The Apache Software Foundation</a>.
+ All other products or name brands are trademarks of their respective holders, including The Apache Software Foundation.
+ </span>
+ </div>
+</footer>
+
+
+<script src="/external/js/cdnjs.cloudflare.com-1.14.3-popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
+<script src="/external/js/stackpath.bootstrapcdn.com-4.1.3-bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
+
+
+
+
+
+
+<script src="/js/main.min.5c74b870c6953931a705f390a49c7e4c0a842ec5c83b24354758dd674343ed0d.js" integrity="sha256-XHS4cMaVOTGnBfOQpJx+TAqELsXIOyQ1R1jdZ0ND7Q0=" crossorigin="anonymous"></script>
+
+
+
+</body>
+
+ <script src="/main.60e9d.js"></script>
+
+</html>
diff --git a/announcements/index.xml b/announcements/index.xml
new file mode 100644
index 0000000000..319a2c5e02
--- /dev/null
+++ b/announcements/index.xml
@@ -0,0 +1,18 @@
+<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
+ <channel>
+ <title>Apache Airflow – Announcements</title>
+ <link>/announcements/</link>
+ <description>Recent content in Announcements on Apache Airflow</description>
+ <generator>Hugo -- gohugo.io</generator>
+ <lastBuildDate>Sat, 08 Aug 2020 05:30:20 +0530</lastBuildDate>
+
+ <atom:link href="/announcements/index.xml" rel="self" type="application/rss+xml" />
+
+
+
+
+
+
+
+ </channel>
+</rss>
diff --git a/landing-pages/site/static/artifacthub-repo.yml b/artifacthub-repo.yml
similarity index 100%
rename from landing-pages/site/static/artifacthub-repo.yml
rename to artifacthub-repo.yml
diff --git a/landing-pages/site/assets/icons/airflow-logo.svg b/blocktype/index.html
similarity index 51%
copy from landing-pages/site/assets/icons/airflow-logo.svg
copy to blocktype/index.html
index bd3a7623fd..ce066fde2e 100644
--- a/landing-pages/site/assets/icons/airflow-logo.svg
+++ b/blocktype/index.html
@@ -1,4 +1,108 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="155.314" height="60" viewBox="0 0 155.314 60">
+
+
+<!doctype html>
+<html lang="en" class="no-js">
+<head>
+
+
+<meta charset="utf-8">
+<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+<meta name="generator" content="Hugo 0.91.2" />
+
+<META NAME="ROBOTS" CONTENT="INDEX, FOLLOW">
+
+<link rel="alternate" type="application/rss+xml" href="/blocktype/index.xml">
+
+
+<link rel="apple-touch-icon" sizes="57x57" href="/favicons/apple-icon-57x57.png">
+<link rel="apple-touch-icon" sizes="60x60" href="/favicons/apple-icon-60x60.png">
+<link rel="apple-touch-icon" sizes="72x72" href="/favicons/apple-icon-72x72.png">
+<link rel="apple-touch-icon" sizes="76x76" href="/favicons/apple-icon-76x76.png">
+<link rel="apple-touch-icon" sizes="114x114" href="/favicons/apple-icon-114x114.png">
+<link rel="apple-touch-icon" sizes="120x120" href="/favicons/apple-icon-120x120.png">
+<link rel="apple-touch-icon" sizes="144x144" href="/favicons/apple-icon-144x144.png">
+<link rel="apple-touch-icon" sizes="152x152" href="/favicons/apple-icon-152x152.png">
+<link rel="apple-touch-icon" sizes="180x180" href="/favicons/apple-icon-180x180.png">
+<link rel="icon" type="image/png" sizes="192x192" href="/favicons/android-icon-192x192.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/favicons/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="96x96" href="/favicons/favicon-96x96.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/favicons/favicon-16x16.png">
+<link rel="manifest" href="/manifest.json">
+<meta name="msapplication-TileColor" content="#ffffff">
+<meta name="msapplication-TileImage" content="/favicons/ms-icon-144x144.png">
+<meta name="theme-color" content="#ffffff">
+
+<title>Blocktype | Apache Airflow</title><meta property="og:title" content="Blocktype" />
+<meta property="og:description" content="Platform created by the community to programmatically author, schedule and monitor workflows." />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="/blocktype/" /><meta property="og:image" content="/images/feature-image.png"/><meta property="og:site_name" content="Apache Airflow" />
+
+<meta itemprop="name" content="Blocktype">
+<meta itemprop="description" content="Platform created by the community to programmatically author, schedule and monitor workflows.">
+
+
+
+
+
+
+<link rel="preload" href="/scss/main.min.b17aebabd27496c9901cfab812b30fb885ece0ac9dedd4969f14edf568b76157.css" as="style">
+<link href="/scss/main.min.b17aebabd27496c9901cfab812b30fb885ece0ac9dedd4969f14edf568b76157.css" rel="stylesheet" integrity="">
+
+<script
+ src="/external/js/jquery-3.3.1.min.js"
+ integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
+ crossorigin="anonymous"></script>
+
+
+<meta name="description" content="Platform created by the community to programmatically author, schedule and monitor workflows." />
+
+
+
+
+ <link rel="preload" href="/scss/main-custom.min.b8fa50ff03a3cb99184036e59eb0c9feffd1e8dbd96bb022465167b167b3a286.css" as="style">
+ <link href="/scss/main-custom.min.b8fa50ff03a3cb99184036e59eb0c9feffd1e8dbd96bb022465167b167b3a286.css" rel="stylesheet" integrity="">
+
+
+
+<script>
+ var _paq = window._paq = window._paq || [];
+
+
+ _paq.push(['disableCookies']);
+ _paq.push(['trackPageView']);
+ _paq.push(['enableLinkTracking']);
+ (function() {
+ var u="https://analytics.apache.org/";
+ _paq.push(['setTrackerUrl', u+'matomo.php']);
+ _paq.push(['setSiteId', '13']);
+ var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
+ g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+ })();
+</script>
+
+
+
+<link rel="preload" href="/main.60e9d.js" as="script">
+<link rel="preload" href="/chunk-1.60e9d.js" as="script">
+
+<link rel="preload" href="/chunk-4.60e9d.js" as="script">
+
+
+
+
+</head>
+<body class="td-taxonomy">
+<header>
+
+
+
+<a href="https://airflowsummit.org" target="_blank" class="d-block fixed-top px-3 py-2 bg-success text-center text-bold text-white">
+ Airflow Summit 2025 is coming October 07-09. Register now for early bird ticket!
+</a>
+<nav class="js-navbar-scroll navbar" style="top: 40px;">
+ <div class="navbar__icon-container">
+ <a href="/">
+ <svg xmlns="http://www.w3.org/2000/svg" width="155.314" height="60" viewBox="0 0 155.314 60">
<defs>
<clipPath id="clip-path">
<path id="Rectangle_1" d="M0 0h155.314v60H0z" fill="none" data-name="Rectangle 1"/>
@@ -23,3 +127,433 @@
</g>
</g>
</svg>
+
+ </a>
+ </div>
+ <div class="desktop-only navbar__menu-container">
+
+ <div class="navbar__menu-content" id="main_navbar">
+
+
+ <div class="navbar__links-container">
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/community/"
+ >
+ Community
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/meetups/"
+ >
+ Meetups
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/docs/"
+ >
+ Documentation
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/use-cases/"
+ >
+ Use Cases
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/announcements/"
+ >
+ Announcements
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/blog/"
+ >
+ Blog
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/ecosystem/"
+ >
+ Ecosystem
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/blog/airflow-survey-2024/"
+ >
+ Airflow Survey 2024
+ </a>
+
+ </div>
+ </div>
+
+ </div>
+ <div class="no-desktop navbar__drawer-container">
+ <button class="navbar__toggle-button" id="navbar-toggle-button">
+
+ <div id="hamburger-icon" class="navbar__toggle-button--icon visible">
+ <svg xmlns="http://www.w3.org/2000/svg" width="26" height="20" viewBox="0 0 26 20">
+ <g id="Group_1294" data-name="Group 1294" transform="translate(-38.791 291)">
+ <g id="Group_1291" data-name="Group 1291" transform="translate(39 -291)">
+ <rect id="Rectangle_461" width="26" height="2" fill="#51504f" data-name="Rectangle 461" rx="1" transform="translate(-.209)"/>
+ </g>
+ <g id="Group_1292" data-name="Group 1292" transform="translate(39 -281.822)">
+ <rect id="Rectangle_462" width="26" height="2" fill="#51504f" data-name="Rectangle 462" rx="1" transform="translate(-.209 -.178)"/>
+ </g>
+ <g id="Group_1293" data-name="Group 1293" transform="translate(39 -272.644)">
+ <rect id="Rectangle_463" width="26" height="2" fill="#51504f" data-name="Rectangle 463" rx="1" transform="translate(-.209 -.356)"/>
+ </g>
+ </g>
+</svg>
+
+ </div>
+
+
+ <div id="close-icon" class="navbar__toggle-button--icon">
+ <svg xmlns="http://www.w3.org/2000/svg" width="19.799" height="19.799" viewBox="0 0 19.799 19.799">
+ <g id="Group_1574" data-name="Group 1574" transform="translate(-41.892 290.899)">
+ <g id="Group_1291" data-name="Group 1291" transform="rotate(-45 -308.114 -187.077)">
+ <rect id="Rectangle_461" width="26" height="2" fill="#51504f" data-name="Rectangle 461" rx="1" transform="translate(-.209)"/>
+ </g>
+ <g id="Group_1292" data-name="Group 1292" transform="rotate(45 372.48 -93.011)">
+ <rect id="Rectangle_462" width="26" height="2" fill="#51504f" data-name="Rectangle 462" rx="1" transform="translate(-.209 -.178)"/>
+ </g>
+ </g>
+</svg>
+
+ </div>
+
+ </button>
+ <div class="navbar__drawer" id="navbar-drawer">
+ <div class="navbar__menu-content" id="main_navbar">
+
+
+ <div class="navbar__links-container">
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/community/"
+ >
+ Community
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/meetups/"
+ >
+ Meetups
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/docs/"
+ >
+ Documentation
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/use-cases/"
+ >
+ Use Cases
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/announcements/"
+ >
+ Announcements
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/blog/"
+ >
+ Blog
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/ecosystem/"
+ >
+ Ecosystem
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/blog/airflow-survey-2024/"
+ >
+ Airflow Survey 2024
+ </a>
+
+ </div>
+ </div>
+</div>
+ </div>
+</nav>
+
+
+
+</header>
+<div class="container-fluid td-default">
+ <div class="base-layout">
+ <main role="main" class="td-main container">
+
+
+
+ </main>
+
+
+<div class="base-layout--button">
+
+ <a href=https://github.com/apache/airflow-site/edit/main/landing-pages/site/content/en/blocktype>
+
+
+
+<button class="btn-hollow btn-brown btn-with-icon with-box-shadow button-fixed">
+ <svg xmlns="http://www.w3.org/2000/svg" width="30.76" height="30">
+ <path d="M15.379 0a15.381 15.381 0 00-4.86 29.974c.769.141 1.05-.334 1.05-.741 0-.365-.013-1.332-.021-2.616-4.278.929-5.181-2.062-5.181-2.062a4.071 4.071 0 00-1.708-2.25c-1.4-.954.106-.935.106-.935a3.231 3.231 0 012.356 1.585 3.274 3.274 0 004.476 1.278 3.287 3.287 0 01.976-2.056c-3.415-.388-7.005-1.707-7.005-7.6a5.947 5.947 0 011.583-4.127 5.53 5.53 0 01.151-4.07s1.291-.413 4.229 1.577a14.577 14.577 0 017.7 0c2.936-1.99 4.225-1.577 4.225-1.577a5.523 5.523 0 01.153 4.07 5.937 5.937 0 [...]
+ data-name="Path 224" fill="#51504f" fill-rule="evenodd"/>
+</svg>
+
+ <span class="bodytext__medium--brownish-grey">Suggest a change on this page</span>
+</button>
+
+ </a>
+</div>
+
+ </div>
+</div>
+
+
+
+<footer>
+ <div class="footer-section footer-section__media-section">
+ <div class="d-flex align-items-center">
+
+
+
+ <a class="footer-section__media-section--link" target="_blank" href="https://github.com/apache/airflow/">
+ <svg xmlns="http://www.w3.org/2000/svg" width="46.14" height="45" viewBox="0 0 46.14 45">
+ <path id="Path_207" d="M228.962 1078.578a23.072 23.072 0 0 0-7.29 44.96c1.154.212 1.574-.5 1.574-1.112 0-.548-.02-2-.031-3.924-6.417 1.394-7.771-3.093-7.771-3.093a6.109 6.109 0 0 0-2.562-3.375c-2.095-1.431.159-1.4.159-1.4a4.846 4.846 0 0 1 3.533 2.377c2.058 3.525 5.4 2.507 6.714 1.917a4.926 4.926 0 0 1 1.464-3.084c-5.123-.582-10.508-2.562-10.508-11.4a8.919 8.919 0 0 1 2.374-6.191 8.3 8.3 0 0 1 .226-6.105s1.937-.62 6.344 2.365a21.857 21.857 0 0 1 11.551 0c4.4-2.985 6.338-2.365 6.338-2 [...]
+</svg>
+
+ </a>
+
+ <a class="footer-section__media-section--link" target="_blank" href="https://apache-airflow.slack.com/">
+ <svg xmlns="http://www.w3.org/2000/svg" width="45.073" height="45.073" viewBox="0 0 45.073 45.073">
+ <g id="Group_208" data-name="Group 208" transform="translate(-661.145 -806.287)">
+ <g id="Group_204" data-name="Group 204" transform="translate(661.145 830.01)">
+ <path id="Path_208" d="M670.634 856.859a4.744 4.744 0 1 1-4.744-4.744h4.744z" fill="#fff" data-name="Path 208" transform="translate(-661.145 -852.115)"/>
+ <path id="Path_209" d="M684.059 856.859a4.744 4.744 0 0 1 9.489 0v11.861a4.744 4.744 0 1 1-9.489 0z" fill="#fff" data-name="Path 209" transform="translate(-672.198 -852.115)"/>
+ </g>
+ <g id="Group_205" data-name="Group 205" transform="translate(661.145 806.287)">
+ <path id="Path_210" d="M688.8 815.776a4.744 4.744 0 1 1 4.744-4.745v4.745z" fill="#fff" data-name="Path 210" transform="translate(-672.198 -806.287)"/>
+ <path id="Path_211" d="M677.751 829.2a4.744 4.744 0 0 1 0 9.489H665.89a4.744 4.744 0 1 1 0-9.489z" fill="#fff" data-name="Path 211" transform="translate(-661.145 -817.34)"/>
+ </g>
+ <g id="Group_206" data-name="Group 206" transform="translate(684.868 806.287)">
+ <path id="Path_212" d="M729.887 833.945a4.744 4.744 0 1 1 4.745 4.745h-4.745z" fill="#fff" data-name="Path 212" transform="translate(-718.026 -817.34)"/>
+ <path id="Path_213" d="M716.462 822.893a4.744 4.744 0 1 1-9.489 0v-11.862a4.744 4.744 0 0 1 9.489 0z" fill="#fff" data-name="Path 213" transform="translate(-706.973 -806.287)"/>
+ </g>
+ <g id="Group_207" data-name="Group 207" transform="translate(684.868 830.01)">
+ <path id="Path_214" d="M711.718 875.029a4.744 4.744 0 1 1-4.745 4.744v-4.744z" fill="#fff" data-name="Path 214" transform="translate(-706.973 -863.168)"/>
+ <path id="Path_215" d="M711.718 861.6a4.744 4.744 0 1 1 0-9.489h11.861a4.744 4.744 0 0 1 0 9.489z" fill="#fff" data-name="Path 215" transform="translate(-706.973 -852.115)"/>
+ </g>
+ </g>
+</svg>
+
+ </a>
+
+ <a class="footer-section__media-section--link" target="_blank" href="https://stackoverflow.com/questions/tagged/airflow/">
+ <svg xmlns="http://www.w3.org/2000/svg" width="37.647" height="44.6" viewBox="0 0 37.647 44.6">
+ <g id="Group_209" data-name="Group 209" transform="translate(-645.2 -975.455)">
+ <path id="Path_216" d="M677.028 1043.1v-11.948h3.966v15.914H645.2v-15.914h3.966v11.948z" fill="#fff" data-name="Path 216" transform="translate(0 -27.014)"/>
+ <path id="Path_217" d="M661.012 1003.008l19.467 4.069.824-3.914-19.467-4.069zm2.575-9.27l18.025 8.395 1.648-3.605-18.025-8.446zm5-8.858l15.3 12.721 2.524-3.039-15.3-12.721zm9.888-9.425l-3.193 2.369 11.845 15.965 3.193-2.369zm-17.875 36.617h19.879v-3.966H660.6z" fill="#fff" data-name="Path 217" transform="translate(-7.469)"/>
+ </g>
+</svg>
+
+ </a>
+
+ <a class="footer-section__media-section--link" target="_blank" href="https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/">
+ <svg xmlns="http://www.w3.org/2000/svg" width="49.594" height="34.941" viewBox="0 0 49.594 34.941">
+ <path id="Path_223" d="M1124.557 1230a6.232 6.232 0 0 0-4.385-4.413c-3.867-1.043-19.376-1.043-19.376-1.043s-15.508 0-19.376 1.043a6.232 6.232 0 0 0-4.385 4.413c-1.036 3.893-1.036 12.014-1.036 12.014s0 8.122 1.036 12.015a6.232 6.232 0 0 0 4.385 4.413c3.867 1.043 19.376 1.043 19.376 1.043s15.509 0 19.376-1.043a6.232 6.232 0 0 0 4.385-4.413c1.036-3.893 1.036-12.015 1.036-12.015s.001-8.123-1.036-12.014zm-28.833 19.388v-14.748l12.962 7.374z" fill="#fff" data-name="Path 223" transform="tra [...]
+</svg>
+
+ </a>
+
+
+
+ </div>
+ <div class="footer-section__media-section--button-with-text">
+ <span class="footer-section__media-section--text">Want to be a part of Apache Airflow?</span>
+ <a href="/community/">
+
+
+<button id="" class="btn-filled bodytext__medium--white ">Join community</button>
+
+ </a>
+ </div>
+ </div>
+ <div class="footer-section footer-section__policies-section">
+ <div class="footer-section">
+ <span>© The Apache Software Foundation 2025</span>
+ <div class="footer-section__policies-section--policies">
+
+
+
+ <a href="https://www.apache.org/licenses/" class="footer-section__policies-section--policy-item">
+ <span>License</span>
+ </a>
+
+ <a href="https://www.apache.org/foundation/sponsorship.html" class="footer-section__policies-section--policy-item">
+ <span>Donate</span>
+ </a>
+
+ <a href="https://www.apache.org/foundation/thanks.html" class="footer-section__policies-section--policy-item">
+ <span>Thanks</span>
+ </a>
+
+ <a href="https://www.apache.org/security/" class="footer-section__policies-section--policy-item">
+ <span>Security</span>
+ </a>
+
+ <a href="/privacy-notice/" class="footer-section__policies-section--policy-item">
+ <span>Privacy notice</span>
+ </a>
+
+ <a href="/code-of-conduct/" class="footer-section__policies-section--policy-item">
+ <span>Code of Conduct</span>
+ </a>
+
+
+
+ <div class="footer-section__policies-section--language-toggle">
+
+
+
+<a class="dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
+ <span>English</span>
+</a>
+<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+</div>
+
+ </div>
+ </div>
+ </div>
+ <span class="footer-section__policies-section--disclaimer">
+ Apache Airflow, Apache, Airflow, the Airflow logo, and the Apache feather logo are either registered trademarks or trademarks of
+ <a href="https://apache.org/">The Apache Software Foundation</a>.
+ All other products or name brands are trademarks of their respective holders, including The Apache Software Foundation.
+ </span>
+ </div>
+</footer>
+
+
+<script src="/external/js/cdnjs.cloudflare.com-1.14.3-popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
+<script src="/external/js/stackpath.bootstrapcdn.com-4.1.3-bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
+
+
+
+
+
+
+<script src="/js/main.min.5c74b870c6953931a705f390a49c7e4c0a842ec5c83b24354758dd674343ed0d.js" integrity="sha256-XHS4cMaVOTGnBfOQpJx+TAqELsXIOyQ1R1jdZ0ND7Q0=" crossorigin="anonymous"></script>
+
+
+
+</body>
+
+
+ <script src="/main.60e9d.js"></script>
+
+</html>
diff --git a/blocktype/index.xml b/blocktype/index.xml
new file mode 100644
index 0000000000..c538358a1a
--- /dev/null
+++ b/blocktype/index.xml
@@ -0,0 +1,17 @@
+<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
+ <channel>
+ <title>Apache Airflow – Blocktype</title>
+ <link>/blocktype/</link>
+ <description>Recent content in Blocktype on Apache Airflow</description>
+ <generator>Hugo -- gohugo.io</generator>
+
+ <atom:link href="/blocktype/index.xml" rel="self" type="application/rss+xml" />
+
+
+
+
+
+
+
+ </channel>
+</rss>
diff --git a/landing-pages/site/assets/icons/airflow-logo.svg b/blocktype/testimonial/index.html
similarity index 51%
copy from landing-pages/site/assets/icons/airflow-logo.svg
copy to blocktype/testimonial/index.html
index bd3a7623fd..181fd8dbdb 100644
--- a/landing-pages/site/assets/icons/airflow-logo.svg
+++ b/blocktype/testimonial/index.html
@@ -1,4 +1,108 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="155.314" height="60" viewBox="0 0 155.314 60">
+
+
+<!doctype html>
+<html lang="en" class="no-js">
+<head>
+
+
+<meta charset="utf-8">
+<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+<meta name="generator" content="Hugo 0.91.2" />
+
+<META NAME="ROBOTS" CONTENT="INDEX, FOLLOW">
+
+<link rel="alternate" type="application/rss+xml" href="/blocktype/testimonial/index.xml">
+
+
+<link rel="apple-touch-icon" sizes="57x57" href="/favicons/apple-icon-57x57.png">
+<link rel="apple-touch-icon" sizes="60x60" href="/favicons/apple-icon-60x60.png">
+<link rel="apple-touch-icon" sizes="72x72" href="/favicons/apple-icon-72x72.png">
+<link rel="apple-touch-icon" sizes="76x76" href="/favicons/apple-icon-76x76.png">
+<link rel="apple-touch-icon" sizes="114x114" href="/favicons/apple-icon-114x114.png">
+<link rel="apple-touch-icon" sizes="120x120" href="/favicons/apple-icon-120x120.png">
+<link rel="apple-touch-icon" sizes="144x144" href="/favicons/apple-icon-144x144.png">
+<link rel="apple-touch-icon" sizes="152x152" href="/favicons/apple-icon-152x152.png">
+<link rel="apple-touch-icon" sizes="180x180" href="/favicons/apple-icon-180x180.png">
+<link rel="icon" type="image/png" sizes="192x192" href="/favicons/android-icon-192x192.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/favicons/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="96x96" href="/favicons/favicon-96x96.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/favicons/favicon-16x16.png">
+<link rel="manifest" href="/manifest.json">
+<meta name="msapplication-TileColor" content="#ffffff">
+<meta name="msapplication-TileImage" content="/favicons/ms-icon-144x144.png">
+<meta name="theme-color" content="#ffffff">
+
+<title>testimonial | Apache Airflow</title><meta property="og:title" content="testimonial" />
+<meta property="og:description" content="Platform created by the community to programmatically author, schedule and monitor workflows." />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="/blocktype/testimonial/" /><meta property="og:image" content="/images/feature-image.png"/><meta property="og:site_name" content="Apache Airflow" />
+
+<meta itemprop="name" content="testimonial">
+<meta itemprop="description" content="Platform created by the community to programmatically author, schedule and monitor workflows.">
+
+
+
+
+
+
+<link rel="preload" href="/scss/main.min.b17aebabd27496c9901cfab812b30fb885ece0ac9dedd4969f14edf568b76157.css" as="style">
+<link href="/scss/main.min.b17aebabd27496c9901cfab812b30fb885ece0ac9dedd4969f14edf568b76157.css" rel="stylesheet" integrity="">
+
+<script
+ src="/external/js/jquery-3.3.1.min.js"
+ integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
+ crossorigin="anonymous"></script>
+
+
+<meta name="description" content="Platform created by the community to programmatically author, schedule and monitor workflows." />
+
+
+
+
+ <link rel="preload" href="/scss/main-custom.min.b8fa50ff03a3cb99184036e59eb0c9feffd1e8dbd96bb022465167b167b3a286.css" as="style">
+ <link href="/scss/main-custom.min.b8fa50ff03a3cb99184036e59eb0c9feffd1e8dbd96bb022465167b167b3a286.css" rel="stylesheet" integrity="">
+
+
+
+<script>
+ var _paq = window._paq = window._paq || [];
+
+
+ _paq.push(['disableCookies']);
+ _paq.push(['trackPageView']);
+ _paq.push(['enableLinkTracking']);
+ (function() {
+ var u="https://analytics.apache.org/";
+ _paq.push(['setTrackerUrl', u+'matomo.php']);
+ _paq.push(['setSiteId', '13']);
+ var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
+ g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+ })();
+</script>
+
+
+
+<link rel="preload" href="/main.60e9d.js" as="script">
+<link rel="preload" href="/chunk-1.60e9d.js" as="script">
+
+<link rel="preload" href="/chunk-4.60e9d.js" as="script">
+
+
+
+
+</head>
+<body class="td-term">
+<header>
+
+
+
+<a href="https://airflowsummit.org" target="_blank" class="d-block fixed-top px-3 py-2 bg-success text-center text-bold text-white">
+ Airflow Summit 2025 is coming October 07-09. Register now for early bird ticket!
+</a>
+<nav class="js-navbar-scroll navbar" style="top: 40px;">
+ <div class="navbar__icon-container">
+ <a href="/">
+ <svg xmlns="http://www.w3.org/2000/svg" width="155.314" height="60" viewBox="0 0 155.314 60">
<defs>
<clipPath id="clip-path">
<path id="Rectangle_1" d="M0 0h155.314v60H0z" fill="none" data-name="Rectangle 1"/>
@@ -23,3 +127,433 @@
</g>
</g>
</svg>
+
+ </a>
+ </div>
+ <div class="desktop-only navbar__menu-container">
+
+ <div class="navbar__menu-content" id="main_navbar">
+
+
+ <div class="navbar__links-container">
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/community/"
+ >
+ Community
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/meetups/"
+ >
+ Meetups
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/docs/"
+ >
+ Documentation
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/use-cases/"
+ >
+ Use Cases
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/announcements/"
+ >
+ Announcements
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/blog/"
+ >
+ Blog
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/ecosystem/"
+ >
+ Ecosystem
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/blog/airflow-survey-2024/"
+ >
+ Airflow Survey 2024
+ </a>
+
+ </div>
+ </div>
+
+ </div>
+ <div class="no-desktop navbar__drawer-container">
+ <button class="navbar__toggle-button" id="navbar-toggle-button">
+
+ <div id="hamburger-icon" class="navbar__toggle-button--icon visible">
+ <svg xmlns="http://www.w3.org/2000/svg" width="26" height="20" viewBox="0 0 26 20">
+ <g id="Group_1294" data-name="Group 1294" transform="translate(-38.791 291)">
+ <g id="Group_1291" data-name="Group 1291" transform="translate(39 -291)">
+ <rect id="Rectangle_461" width="26" height="2" fill="#51504f" data-name="Rectangle 461" rx="1" transform="translate(-.209)"/>
+ </g>
+ <g id="Group_1292" data-name="Group 1292" transform="translate(39 -281.822)">
+ <rect id="Rectangle_462" width="26" height="2" fill="#51504f" data-name="Rectangle 462" rx="1" transform="translate(-.209 -.178)"/>
+ </g>
+ <g id="Group_1293" data-name="Group 1293" transform="translate(39 -272.644)">
+ <rect id="Rectangle_463" width="26" height="2" fill="#51504f" data-name="Rectangle 463" rx="1" transform="translate(-.209 -.356)"/>
+ </g>
+ </g>
+</svg>
+
+ </div>
+
+
+ <div id="close-icon" class="navbar__toggle-button--icon">
+ <svg xmlns="http://www.w3.org/2000/svg" width="19.799" height="19.799" viewBox="0 0 19.799 19.799">
+ <g id="Group_1574" data-name="Group 1574" transform="translate(-41.892 290.899)">
+ <g id="Group_1291" data-name="Group 1291" transform="rotate(-45 -308.114 -187.077)">
+ <rect id="Rectangle_461" width="26" height="2" fill="#51504f" data-name="Rectangle 461" rx="1" transform="translate(-.209)"/>
+ </g>
+ <g id="Group_1292" data-name="Group 1292" transform="rotate(45 372.48 -93.011)">
+ <rect id="Rectangle_462" width="26" height="2" fill="#51504f" data-name="Rectangle 462" rx="1" transform="translate(-.209 -.178)"/>
+ </g>
+ </g>
+</svg>
+
+ </div>
+
+ </button>
+ <div class="navbar__drawer" id="navbar-drawer">
+ <div class="navbar__menu-content" id="main_navbar">
+
+
+ <div class="navbar__links-container">
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/community/"
+ >
+ Community
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/meetups/"
+ >
+ Meetups
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/docs/"
+ >
+ Documentation
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/use-cases/"
+ >
+ Use Cases
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/announcements/"
+ >
+ Announcements
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/blog/"
+ >
+ Blog
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/ecosystem/"
+ >
+ Ecosystem
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/blog/airflow-survey-2024/"
+ >
+ Airflow Survey 2024
+ </a>
+
+ </div>
+ </div>
+</div>
+ </div>
+</nav>
+
+
+
+</header>
+<div class="container-fluid td-default">
+ <div class="base-layout">
+ <main role="main" class="td-main container">
+
+
+
+ </main>
+
+
+<div class="base-layout--button">
+
+ <a href=https://github.com/apache/airflow-site/edit/main/landing-pages/site/content/en/blocktype/testimonial>
+
+
+
+<button class="btn-hollow btn-brown btn-with-icon with-box-shadow button-fixed">
+ <svg xmlns="http://www.w3.org/2000/svg" width="30.76" height="30">
+ <path d="M15.379 0a15.381 15.381 0 00-4.86 29.974c.769.141 1.05-.334 1.05-.741 0-.365-.013-1.332-.021-2.616-4.278.929-5.181-2.062-5.181-2.062a4.071 4.071 0 00-1.708-2.25c-1.4-.954.106-.935.106-.935a3.231 3.231 0 012.356 1.585 3.274 3.274 0 004.476 1.278 3.287 3.287 0 01.976-2.056c-3.415-.388-7.005-1.707-7.005-7.6a5.947 5.947 0 011.583-4.127 5.53 5.53 0 01.151-4.07s1.291-.413 4.229 1.577a14.577 14.577 0 017.7 0c2.936-1.99 4.225-1.577 4.225-1.577a5.523 5.523 0 01.153 4.07 5.937 5.937 0 [...]
+ data-name="Path 224" fill="#51504f" fill-rule="evenodd"/>
+</svg>
+
+ <span class="bodytext__medium--brownish-grey">Suggest a change on this page</span>
+</button>
+
+ </a>
+</div>
+
+ </div>
+</div>
+
+
+
+<footer>
+ <div class="footer-section footer-section__media-section">
+ <div class="d-flex align-items-center">
+
+
+
+ <a class="footer-section__media-section--link" target="_blank" href="https://github.com/apache/airflow/">
+ <svg xmlns="http://www.w3.org/2000/svg" width="46.14" height="45" viewBox="0 0 46.14 45">
+ <path id="Path_207" d="M228.962 1078.578a23.072 23.072 0 0 0-7.29 44.96c1.154.212 1.574-.5 1.574-1.112 0-.548-.02-2-.031-3.924-6.417 1.394-7.771-3.093-7.771-3.093a6.109 6.109 0 0 0-2.562-3.375c-2.095-1.431.159-1.4.159-1.4a4.846 4.846 0 0 1 3.533 2.377c2.058 3.525 5.4 2.507 6.714 1.917a4.926 4.926 0 0 1 1.464-3.084c-5.123-.582-10.508-2.562-10.508-11.4a8.919 8.919 0 0 1 2.374-6.191 8.3 8.3 0 0 1 .226-6.105s1.937-.62 6.344 2.365a21.857 21.857 0 0 1 11.551 0c4.4-2.985 6.338-2.365 6.338-2 [...]
+</svg>
+
+ </a>
+
+ <a class="footer-section__media-section--link" target="_blank" href="https://apache-airflow.slack.com/">
+ <svg xmlns="http://www.w3.org/2000/svg" width="45.073" height="45.073" viewBox="0 0 45.073 45.073">
+ <g id="Group_208" data-name="Group 208" transform="translate(-661.145 -806.287)">
+ <g id="Group_204" data-name="Group 204" transform="translate(661.145 830.01)">
+ <path id="Path_208" d="M670.634 856.859a4.744 4.744 0 1 1-4.744-4.744h4.744z" fill="#fff" data-name="Path 208" transform="translate(-661.145 -852.115)"/>
+ <path id="Path_209" d="M684.059 856.859a4.744 4.744 0 0 1 9.489 0v11.861a4.744 4.744 0 1 1-9.489 0z" fill="#fff" data-name="Path 209" transform="translate(-672.198 -852.115)"/>
+ </g>
+ <g id="Group_205" data-name="Group 205" transform="translate(661.145 806.287)">
+ <path id="Path_210" d="M688.8 815.776a4.744 4.744 0 1 1 4.744-4.745v4.745z" fill="#fff" data-name="Path 210" transform="translate(-672.198 -806.287)"/>
+ <path id="Path_211" d="M677.751 829.2a4.744 4.744 0 0 1 0 9.489H665.89a4.744 4.744 0 1 1 0-9.489z" fill="#fff" data-name="Path 211" transform="translate(-661.145 -817.34)"/>
+ </g>
+ <g id="Group_206" data-name="Group 206" transform="translate(684.868 806.287)">
+ <path id="Path_212" d="M729.887 833.945a4.744 4.744 0 1 1 4.745 4.745h-4.745z" fill="#fff" data-name="Path 212" transform="translate(-718.026 -817.34)"/>
+ <path id="Path_213" d="M716.462 822.893a4.744 4.744 0 1 1-9.489 0v-11.862a4.744 4.744 0 0 1 9.489 0z" fill="#fff" data-name="Path 213" transform="translate(-706.973 -806.287)"/>
+ </g>
+ <g id="Group_207" data-name="Group 207" transform="translate(684.868 830.01)">
+ <path id="Path_214" d="M711.718 875.029a4.744 4.744 0 1 1-4.745 4.744v-4.744z" fill="#fff" data-name="Path 214" transform="translate(-706.973 -863.168)"/>
+ <path id="Path_215" d="M711.718 861.6a4.744 4.744 0 1 1 0-9.489h11.861a4.744 4.744 0 0 1 0 9.489z" fill="#fff" data-name="Path 215" transform="translate(-706.973 -852.115)"/>
+ </g>
+ </g>
+</svg>
+
+ </a>
+
+ <a class="footer-section__media-section--link" target="_blank" href="https://stackoverflow.com/questions/tagged/airflow/">
+ <svg xmlns="http://www.w3.org/2000/svg" width="37.647" height="44.6" viewBox="0 0 37.647 44.6">
+ <g id="Group_209" data-name="Group 209" transform="translate(-645.2 -975.455)">
+ <path id="Path_216" d="M677.028 1043.1v-11.948h3.966v15.914H645.2v-15.914h3.966v11.948z" fill="#fff" data-name="Path 216" transform="translate(0 -27.014)"/>
+ <path id="Path_217" d="M661.012 1003.008l19.467 4.069.824-3.914-19.467-4.069zm2.575-9.27l18.025 8.395 1.648-3.605-18.025-8.446zm5-8.858l15.3 12.721 2.524-3.039-15.3-12.721zm9.888-9.425l-3.193 2.369 11.845 15.965 3.193-2.369zm-17.875 36.617h19.879v-3.966H660.6z" fill="#fff" data-name="Path 217" transform="translate(-7.469)"/>
+ </g>
+</svg>
+
+ </a>
+
+ <a class="footer-section__media-section--link" target="_blank" href="https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/">
+ <svg xmlns="http://www.w3.org/2000/svg" width="49.594" height="34.941" viewBox="0 0 49.594 34.941">
+ <path id="Path_223" d="M1124.557 1230a6.232 6.232 0 0 0-4.385-4.413c-3.867-1.043-19.376-1.043-19.376-1.043s-15.508 0-19.376 1.043a6.232 6.232 0 0 0-4.385 4.413c-1.036 3.893-1.036 12.014-1.036 12.014s0 8.122 1.036 12.015a6.232 6.232 0 0 0 4.385 4.413c3.867 1.043 19.376 1.043 19.376 1.043s15.509 0 19.376-1.043a6.232 6.232 0 0 0 4.385-4.413c1.036-3.893 1.036-12.015 1.036-12.015s.001-8.123-1.036-12.014zm-28.833 19.388v-14.748l12.962 7.374z" fill="#fff" data-name="Path 223" transform="tra [...]
+</svg>
+
+ </a>
+
+
+
+ </div>
+ <div class="footer-section__media-section--button-with-text">
+ <span class="footer-section__media-section--text">Want to be a part of Apache Airflow?</span>
+ <a href="/community/">
+
+
+<button id="" class="btn-filled bodytext__medium--white ">Join community</button>
+
+ </a>
+ </div>
+ </div>
+ <div class="footer-section footer-section__policies-section">
+ <div class="footer-section">
+ <span>© The Apache Software Foundation 2025</span>
+ <div class="footer-section__policies-section--policies">
+
+
+
+ <a href="https://www.apache.org/licenses/" class="footer-section__policies-section--policy-item">
+ <span>License</span>
+ </a>
+
+ <a href="https://www.apache.org/foundation/sponsorship.html" class="footer-section__policies-section--policy-item">
+ <span>Donate</span>
+ </a>
+
+ <a href="https://www.apache.org/foundation/thanks.html" class="footer-section__policies-section--policy-item">
+ <span>Thanks</span>
+ </a>
+
+ <a href="https://www.apache.org/security/" class="footer-section__policies-section--policy-item">
+ <span>Security</span>
+ </a>
+
+ <a href="/privacy-notice/" class="footer-section__policies-section--policy-item">
+ <span>Privacy notice</span>
+ </a>
+
+ <a href="/code-of-conduct/" class="footer-section__policies-section--policy-item">
+ <span>Code of Conduct</span>
+ </a>
+
+
+
+ <div class="footer-section__policies-section--language-toggle">
+
+
+
+<a class="dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
+ <span>English</span>
+</a>
+<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+</div>
+
+ </div>
+ </div>
+ </div>
+ <span class="footer-section__policies-section--disclaimer">
+ Apache Airflow, Apache, Airflow, the Airflow logo, and the Apache feather logo are either registered trademarks or trademarks of
+ <a href="https://apache.org/">The Apache Software Foundation</a>.
+ All other products or name brands are trademarks of their respective holders, including The Apache Software Foundation.
+ </span>
+ </div>
+</footer>
+
+
+<script src="/external/js/cdnjs.cloudflare.com-1.14.3-popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
+<script src="/external/js/stackpath.bootstrapcdn.com-4.1.3-bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
+
+
+
+
+
+
+<script src="/js/main.min.5c74b870c6953931a705f390a49c7e4c0a842ec5c83b24354758dd674343ed0d.js" integrity="sha256-XHS4cMaVOTGnBfOQpJx+TAqELsXIOyQ1R1jdZ0ND7Q0=" crossorigin="anonymous"></script>
+
+
+
+</body>
+
+
+ <script src="/main.60e9d.js"></script>
+
+</html>
diff --git a/blocktype/testimonial/index.xml b/blocktype/testimonial/index.xml
new file mode 100644
index 0000000000..b1d5c574e7
--- /dev/null
+++ b/blocktype/testimonial/index.xml
@@ -0,0 +1,268 @@
+<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
+ <channel>
+ <title>Apache Airflow – testimonial</title>
+ <link>/blocktype/testimonial/</link>
+ <description>Recent content in testimonial on Apache Airflow</description>
+ <generator>Hugo -- gohugo.io</generator>
+
+ <atom:link href="/blocktype/testimonial/index.xml" rel="self" type="application/rss+xml" />
+
+
+
+
+
+
+
+ <item>
+ <title>Use-Cases: adjoe</title>
+ <link>/use-cases/adjoe/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>/use-cases/adjoe/</guid>
+ <description>
+
+
+ <h5 id="what-was-the-problem">What was the problem?</h5>
+<p>Before adopting Airflow at adjoe, we handled job scheduling in two main ways: by setting up Kubernetes cronjobs or building AWS Lambda functions. While both approaches had their benefits, they also came with limitations, especially when it came to managing more complex workloads. As our data science teams needs evolved, it became clear that we needed a more robust and flexible orchestration tool.</p>
+<h5 id="how-did-apache-airflow-help-to-solve-this-problem">How did Apache Airflow help to solve this problem?</h5>
+<p>With the creation of a new AWS environment for the data science teams, we introduced Airflow on Kubernetes as our primary orchestration solution, addressing both stability and scalability requirements.</p>
+<p>After deploying Airflow in our staging and production environments, we were able to create multiple DAGs to manage and schedule a variety of workloads efficiently. These range from generating and emailing daily reports to performing system analyses, training complex machine learning models using the Spark Operator or Kubeflow’s Training Operator for GPU models, and preparing datasets using Airflow’s ETL capabilities.</p>
+<h5 id="what-are-the-results">What are the results?</h5>
+<p>By implementing Airflow, our data scientists can now manage and schedule their jobs more efficiently. Monitoring job statuses has become simpler, thanks to an intuitive interface that also provides easy access to logs. The need for infrastructure management has significantly reduced, allowing data scientists to test and deploy their DAGs independently, which in turn has accelerated development for both teams. Currently, our Data Science teams manages over 20 DAGs and more than 5 [...]
+
+ </description>
+ </item>
+
+ <item>
+ <title>Use-Cases: Adobe</title>
+ <link>/use-cases/adobe/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>/use-cases/adobe/</guid>
+ <description>
+
+
+ <h5 id="what-was-the-problem">What was the problem?</h5>
+<p>Modern big data platforms need sophisticated data pipelines connecting to many backend services enabling complex workflows. These workflows need to be deployed, monitored, and run either on regular schedules or triggered by external events. Adobe Experience Platform component services architected and built an orchestration service to enable their users to author, schedule, and monitor complex hierarchical (including sequential and parallel) workflows for Apache Spark (TM) and no [...]
+<h5 id="how-did-apache-airflow-help-to-solve-this-problem">How did Apache Airflow help to solve this problem?</h5>
+<p>Adobe Experience Platform built an orchestration service to meet our user and customer requirements. It is architected based on guiding principles to leverage an off-the-shelf, open-source orchestration engine that is abstracted to other services through an API and extendable to any application through a pluggable framework. Adobe Experience Platform orchestration service leverages Apache Airflow execution engine for scheduling and executing various workflows. Apache Airflow is [...]
+<h5 id="what-are-the-results">What are the results?</h5>
+<p>Adobe Experience Platform is using Apache Airflow&rsquo;s plugin interface to write custom operators to meet our use cases. With K8s Executor, we could scale it to run 1000(s) of concurrent workflows. Adobe and Adobe Experience Platform teams can focus on business use cases because all scheduling, dependency management, and retrying logic is offloaded to Apache Airflow.</p>
+
+ </description>
+ </item>
+
+ <item>
+ <title>Use-Cases: Adyen</title>
+ <link>/use-cases/adyen/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>/use-cases/adyen/</guid>
+ <description>
+
+
+ <h5 id="what-was-the-problem">What was the problem?</h5>
+<p>Many years ago we started out with our own orchestration framework. Due to all the required custom functionality it made sense at the time. However, quickly we realized creating an orchestration tool is not to be underestimated. With the quickly increasing number of users and teams, time spent on fixing issues increased, severely limiting development speed. Furthermore, due to it not being open source, we constantly had to make the effort ourselves to stay up to date with the i [...]
+<h5 id="how-did-apache-airflow-help-to-solve-this-problem">How did Apache Airflow help to solve this problem?</h5>
+<p>Apache Airflow enabled us to extend upon the already existing operators and sensors to make writing ETL DAGs as easy as possible. Within a couple minutes of training, data scientists are able to write their own DAGs containing an Apache Spark job and its corresponding dependencies. The Web UI allows our data scientists to closely monitor the status and logs of the jobs so that they can quickly interfere if something is not going as planned. We created our own access groups such [...]
+<p>One powerful functionality of Apache Airflow is the ability to backfill. This is helpful when new tasks are introduced or old jobs need to be rerun. By creating our own plugin for Apache Airflow, we built a simple tool to streamline back-filling. Besides clearing the runs, it also clears the underlying data that was generated by the Spark Job. Coming from Apache Airflow 1.10, this plugin only required minor changes to support Apache Airflow 2.0.</p>
+<h5 id="what-are-the-results">What are the results?</h5>
+<p>We started out with having a full team just working on our orchestration tool. With the help of Apache Airflow we managed to give the responsibility of maintaining DAGs back to the data scientist teams. This allowed us to grow quicker than ever to 20 teams that own in total approximately 200 DAGs and over 5000 tasks. In the meantime, our team has been able to extend Apache Airflow further while also focussing on getting other new exciting technologies on-board. With airflow, we [...]
+
+ </description>
+ </item>
+
+ <item>
+ <title>Use-Cases: Big Fish Games</title>
+ <link>/use-cases/big-fish-games/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>/use-cases/big-fish-games/</guid>
+ <description>
+
+
+ <h5 id="what-was-the-problem">What was the problem?</h5>
+<p>The main challenge is the lack of standardized ETL workflow orchestration tools. PowerShell and Python-based ETL frameworks built in-house are currently used for scheduling and running analytical workloads. However, there is no web UI through which we can monitor these workflows and it requires additional effort to maintain this framework. These scheduled jobs based on external dependencies are not well suited to modern Big Data platforms and their complex workflows. Although w [...]
+<h5 id="how-did-apache-airflow-help-to-solve-this-problem">How did Apache Airflow help to solve this problem?</h5>
+<p>Apache Airflow helps us programmatically control our workflows in Python by setting task dependencies and monitoring tasks within each DAG in a Web UI. Airflow allows us to view detailed logs for each task in these complex workflows. It has built-in connectors for Hive, MySQL, Google Cloud APIs and others. It also lends us flexibility to create our own custom connectors (i.e. for a Netezza database) using JDBCHook and JDBCOperator or extend the existing operator such as Hive Ope [...]
+<h5 id="what-are-the-results">What are the results?</h5>
+<p>We seek to run concurrent tasks with DAGs and concurrent DAGs using Apache Airflow, in hopes of running our entire ETL workload faster. Airflow helps our analysts and developers focus on the analyses, rather than labor over building an ETL framework to schedule and monitor our applications. Airflow facilitates a seamless ETL migration to the Google Cloud Platform (GCP), as GCP maintains Cloud Composer, an Apache Airflow managed service.</p>
+
+ </description>
+ </item>
+
+ <item>
+ <title>Use-Cases: Dish</title>
+ <link>/use-cases/dish/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>/use-cases/dish/</guid>
+ <description>
+
+
+ <h5 id="what-was-the-problem">What was the problem?</h5>
+<p>We faced increasing complexity managing lengthy crontabs with scheduling being an issue, this required carefully planning timing due to resource constraints, usage patterns, and especially custom code needed for retry logic. In the last case, having to verify success of previous jobs and/or steps prior to running the next. Furthermore, time to results is important, but we were increasingly relying on buffers for processing, where things were effectively sitting idle and not pr [...]
+<h5 id="how-did-apache-airflow-help-to-solve-this-problem">How did Apache Airflow help to solve this problem?</h5>
+<p>Relying on community built and existing hooks and operators to the majority of cloud services we use has allowed us to focus on business outcomes rather than operations.</p>
+<h5 id="what-are-the-results">What are the results?</h5>
+<p>Airflow helps us manage many of our pain-points, letting us benefit from the overall ecosystem and community. We are able to reduce time-to-end delivery of data products by being event-driven in our processing flows (in our first usage, for example, we were able to take out over 2 hours - on average - of various waiting between stages). Furthermore, we are able to arrive at and iterate on products quicker as a result of not needing as much custom or roll-our-own solutions. Ou [...]
+
+ </description>
+ </item>
+
+ <item>
+ <title>Use-Cases: Experity</title>
+ <link>/use-cases/experity/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>/use-cases/experity/</guid>
+ <description>
+
+
+ <h5 id="what-was-the-problem">What was the problem?</h5>
+<p>We had to deploy our complex, flagship app to multiple nodes in multiple ways. This required tasks to communicate across Windows nodes and coordinate timing perfectly. We did not want to buy an expensive enterprise scheduling tool and needed ultimate flexibility.</p>
+<h5 id="how-did-apache-airflow-help-to-solve-this-problem">How did Apache Airflow help to solve this problem?</h5>
+<p>Ultimately we decided flexible, multi-node, DAG capable tooling was key and airflow was one of the few tools that fit that bill. Having it based on open source and python were large factors that upheld our core principles. At the time, Airflow was missing a windows hook and operator so we contributed the WinRM hook and operator back to the community. Given its flexibility we also use DAG generators to have our metadata drive our DAGs and keep maintenance costs down.</p>
+<h5 id="what-are-the-results">What are the results?</h5>
+<p>We have a very flexible deployment framework that allows us to be as nimble as possible. The reliability is something we have grown to trust as long as we use the tool correctly. The scalability has also allowed us to decrease the time it takes to operate on our fleet of servers.</p>
+
+ </description>
+ </item>
+
+ <item>
+ <title>Use-Cases: Onefootball</title>
+ <link>/use-cases/onefootball/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>/use-cases/onefootball/</guid>
+ <description>
+
+
+ <h5 id="what-was-the-problem">What was the problem?</h5>
+<p>With millions of daily active users, managing the complexity of data engineering at Onefootball is a constant challenge. Lengthy crontabs, multiplication of custom API clients, erosion of confidence in the analytics served, increasing heroism (&ldquo;only one person can solve this issue&rdquo;). Those are the challenges that most teams face unless they consciously invest in their tools and processes.</p>
+<p>On top of that, new data tools appear each month: third party data sources, cloud providers solutions, different storage technologies&hellip; Managing all those integrations is costly and brittle, especially for small data engineering teams that are trying to do more with less.</p>
+<h5 id="how-did-apache-airflow-help-to-solve-this-problem">How did Apache Airflow help to solve this problem?</h5>
+<p>Airflow had been on our radar for a while until one day we took the leap. We used the DAG paradigm to migrate the pipelines running on crontabs. We benefited from the community Hooks and Operators to remove parts of our code, or to refactor the API clients specific to our business. We use the alerts, SLAs and the web UI to regain confidence in our analytics. We use our airflow internal PRs as catalysts for team discussion and to challenge our technical designs.</p>
+<p>We have DAGs orchestrating SQL transformations in our data warehouse, but also DAGs that are orchestrating functions ran against our Kubernetes cluster both for training Machine Learning models and sending daily analytics emails.</p>
+<h5 id="what-are-the-results">What are the results?</h5>
+<p>The learning curve was steep but in about 100 days we were able to efficiently use Airflow to manage the complexity of our data engineering. We currently have 17 DAGs (adding on average 1 per week), we have 2 contributions on apache/airflow, we have 7 internal hooks and operators and are planning to add more as our migration efforts continue.</p>
+
+ </description>
+ </item>
+
+ <item>
+ <title>Use-Cases: Plarium Krasnodar</title>
+ <link>/use-cases/plarium-krasnodar/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>/use-cases/plarium-krasnodar/</guid>
+ <description>
+
+
+ <h5 id="what-was-the-problem">What was the problem?</h5>
+<p>Our Research &amp; Development department carries out various experiments, and in all of them, we need to create workflow orchestrations for solving tasks in game dev. Previously, we didn&rsquo;t have any suitable tools with a sufficient number of built-in functions, and we had to orchestrate processes manually and entirely from scratch every time. This led to difficulties with dependencies and monitoring when building complex workflows. We needed a tool that would provi [...]
+<h5 id="how-did-apache-airflow-help-to-solve-this-problem">How did Apache Airflow help to solve this problem?</h5>
+<p>Apache Airflow offers lots of convenient built-in solutions, including integrative ones. The DAG model helps us avoid errors and follow general patterns when building workflows. In addition, this platform has a large community where we can find plenty of sensors and operators that cover 90% of our cases. This allows us to save ourselves loads of time.</p>
+<h5 id="what-are-the-results">What are the results?</h5>
+<p>Thanks to Apache Airflow, we&rsquo;ve managed to simplify the process of building complex workflows. Many procedures that are so important for game development, such as working with the churn rate, processing messages to the support team, and sorting bank offers, now run efficiently, and all issues are resolved centrally. In addition, Apache Airflow is widely used in the industry, allowing us to onboard new people to our team more quickly and smoothly.</p>
+
+ </description>
+ </item>
+
+ <item>
+ <title>Use-Cases: RancherBySUSE</title>
+ <link>/use-cases/suse/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>/use-cases/suse/</guid>
+ <description>
+
+
+ <h4 id="what-was-the-problem">What was the problem?</h4>
+<p>Our aim was to build, package, test and distribute curated and trusted containers at scale in an automated way. Those containers can be of any nature, meaning that we need a solution that allows us to build any kind of software with any kind of building tools like Maven, Rust, Java, Ant, or Go.</p>
+<p>The construction of these containers requires the installation of several libraries (which may even conflict) and the orchestration of complex workflows with several integrations, executed either on a scheduled basis or triggered by events from external systems.</p>
+<p>Finally, our building pipeline will be triggered by the release of sources upstream. This means that we need to trigger our pipeline whenever a new version is released by the owner of the software.</p>
+<h5 id="how-did-apache-airflow-help-to-solve-this-problem">How did Apache Airflow help to solve this problem?</h5>
+<p>Apache Airflow has proven to be the perfect solution for implementing and controlling our pipelines. Its capability to orchestrate complex workflows programmatically and monitor their execution is complemented by a comprehensive graphical interface and detailed logs view.</p>
+<p>Being extendable with a high-level language like Python has allowed us to customize our workflows as code with incredible flexibility and quality. Apache Airflow has enabled us to dynamically create and execute tasks derived from external sources, scheduling them to run in batches, thus reliably executing large-scale processes.</p>
+<p>Apache Airflow also allows the execution of dependent tasks across nodes of different natures. This helped us to orchestrate the steps to build each container on the appropriate worker node. It offers multiple pre-built functionalities to facilitate integrations with external APIs, notifying events via Slack or e-mail as they occur. Its ability to isolate task execution allows us to scale, sparing us the need to worry about low-level details. Its complete REST API has allowed us [...]
+<h4 id="what-are-the-results">What are the results?</h4>
+<p>Thanks to Apache Airflow, we have been able to automate the lifecycle for the creation of our collections of containers in record time. We can execute concurrent processes much faster and more reliably, controlling aspects such as upstream failure handling or task-level concurrency, through configuration in a straightforward manner.</p>
+<hr>
+
+ </description>
+ </item>
+
+ <item>
+ <title>Use-Cases: Seniorlink</title>
+ <link>/use-cases/seniorlink/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>/use-cases/seniorlink/</guid>
+ <description>
+
+
+ <h5 id="what-was-the-problem">What was the problem?</h5>
+<p>Here at Seniorlink, we provide services, support, and technology that engages family caregivers. One of our focuses is using data to bolster our knowledge and improve the experience of our users. Like many looking to build an effective data stack, we adopted a Python, Spark, Redshift, and Tableau core toolset.</p>
+<p>We had built a robust stack of batch processes to deliver value to the business, deploying these data services in AWS using a mixture of EMR, ECS, Lambda, and EC2. Moving fast, as many new endeavors do, we ultimately ended up with one monolithic batch process with many smaller satellite jobs. Given the scale and quantity of jobs, we began to lose transparency as to what was happening. Additionally, many jobs were launched in a single EMR cluster and so tightly coupled that a fai [...]
+<p>We were beginning to lose precious time manually managing the schedules via AWS Datapiplines, AWS Lambdas, and ECS Tasks. Much of our development effort was spent waiting for the monolith to complete running to examine a smaller job within. Our best chance at keeping system transparency was active documentation in our internal wiki.</p>
+<h5 id="how-did-apache-airflow-help-to-solve-this-problem">How did Apache Airflow help to solve this problem?</h5>
+<p>Airflow gave us a way to orchestrate our disparate tools into a single place. Instead of dealing with multiple schedules, we have a straightforward UI to consider. We gained a great deal of transparency, being able to monitor the status of tasks, re-run or restart tasks from any given point in a workflow, and manage the dependencies between jobs using DAGs. We were able to decouple our monolith and schedule the resulting smaller tasks confidently.</p>
+<h5 id="what-are-the-results">What are the results?</h5>
+<p>Airflow increased the visibility of our batch processes through the use of the DAGs and the UI. Our end-to-end run time decreased by 20%, given our ability to decouple our monolithic batch jobs into several smaller ones. Our development and debugging time reduced with our ability to manage and isolate all our tasks. We were able to merge our diverse toolset into a more central location. Lastly, with its broad adoption, we were able to quickly push this new framework up to our pr [...]
+
+ </description>
+ </item>
+
+ <item>
+ <title>Use-Cases: Sift</title>
+ <link>/use-cases/sift/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>/use-cases/sift/</guid>
+ <description>
+
+
+ <h5 id="what-was-the-problem">What was the problem?</h5>
+<p>At Sift, we’re constantly training machine learning models that feed into the core of Sift’s Digital Trust &amp; Safety platform. The platform gives our customers a way to discern suspicious online behavior from trustworthy behavior, allowing our customers to protect their online transactions, maintain the integrity of their content platforms, and keep their users’ accounts secure. To make this possible, we’ve built model training pipelines that consist of hundreds of steps [...]
+<p>When we built these workflows, we found that we needed a centralized way to organize the interactions between the many steps in each workflow. But before Airflow, we didn’t have an easy way to express those dependencies. And as we added steps to the workflows, it became increasingly difficult to coordinate their dependencies and keep ML experiments in sync.</p>
+<p>It soon became clear that we needed a way to orchestrate both the scheduled execution of our jobs and the dependencies between steps of not only a single workflow, but of multiple workflows. We needed a way to dynamically create several experimental ML workflows at once that could each have their own code, dependencies, and tasks. Additionally, we needed a way to be able to monitor the status of tasks, and re-run or restart tasks from any given point in a workflow with ease.</p>
+<h5 id="how-did-apache-airflow-help-to-solve-this-problem">How did Apache Airflow help to solve this problem?</h5>
+<p>Airflow makes it easy to clearly define the interactions between various jobs, expanding the scope of what we can do in our model training pipelines. We now have the ability to schedule and coordinate all jobs while managing the dependencies between them using DAGs. Each of our main workflows, including our model training pipeline and ETL pipelines, has its own DAG code that manages its tasks’ dependencies and the execution schedule for the pipeline. We even define dependencies [...]
+<p>As part of our custom Airflow setup, we’ve built out a separate Airflow ecosystem for short-lived experimental DAGs as well, so that we can test changes to our jobs or run separate model training pipelines in isolation. Using deployment scripts that edit our DAGs when we upload them to Airflow, the same code that powers an existing DAG can be deployed in a separate, isolated environment with experimental edits. This means that each experiment can have its own isolated code, runn [...]
+<p>Finally, Airflow has given us the ability to manage our tasks’ successes and failures through its user interface. Airflow allows us to track our tasks’ failures, duration, history, and logs in one central UI, and that same UI also allows us to easily retry single tasks, branches of a DAG, or entire DAGs.</p>
+<h5 id="what-are-the-results">What are the results?</h5>
+<p>Airflow initially gave us a way to solve our existing problems: we used Airflow to replace rigid crons with well-defined DAG dependencies, to build isolated ML experiments using short-lived DAGs, and to track our pipelines’ successes and failures.</p>
+<p>But even after that, Airflow helped us to grow beyond those initial challenges, and expanded the scope of what we could feasibly tackle. Airflow not only made it easier to manage our ever-expanding ML pipelines, but also allowed us to create entirely new pipelines, ranging from workflows that back up our production data to complex ETL pipelines that transform data into experimentation-ready formats.</p>
+<p>Airflow also allowed us to support a more diverse toolset. Shell scripts, Java, Python, Jupyter notebooks, and more - all of these can be managed from an Airflow DAG, allowing developers to utilize our data to test new ideas, generate insights, and improve our models with ease.</p>
+
+ </description>
+ </item>
+
+ <item>
+ <title>Use-Cases: Snapp</title>
+ <link>/use-cases/snapp/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>/use-cases/snapp/</guid>
+ <description>
+
+
+ <h5 id="what-was-the-problem">What was the problem?</h5>
+<p>As the Map team at Snapp, one of the largest and fastest-growing internet companies in the Middle East, we have experienced significant growth over the past couple of years, expanding from a team of 7 to a team of 60. However, with this growth came the realization that some of our crucial tasks were being performed manually. This manual approach consumed valuable time and hindered our ability to execute these tasks efficiently.</p>
+<p>To address this challenge and streamline our operations, we recognized the need for an orchestration tool that could automate these tasks, saving time, and energy, and increasing reliability and monitoring for our runs. After conducting thorough research and evaluating various options, we ultimately decided to implement Airflow. Airflow is widely regarded as the leading open-source platform for task orchestration, making it an ideal choice for the diverse use cases of our Map te [...]
+<p>By leveraging Airflow, we aim to automate our critical tasks, enabling us to execute them more efficiently and effectively. This automation will not only enhance our productivity but also provide us with greater control and visibility over our workflows. With Airflow&rsquo;s robust features and flexibility, we are confident that it will significantly improve our team&rsquo;s performance and contribute to the continued success of Snapp.</p>
+<h5 id="how-did-apache-airflow-help-to-solve-this-problem">How did Apache Airflow help to solve this problem?</h5>
+<p>After implementing Apache Airflow on our cloud platform, specifically utilizing the KubernetesExecutor, we experienced a significant improvement in our task management capabilities. With Airflow, each sub-team within the Map team was able to create and manage their own DAGs, automating various tasks seamlessly. This included essential procedures such as data updates, model training pipelines, and project deployments, leveraging the SparkKubernetesOperator and other relevant tool [...]
+<p>One notable example of Airflow&rsquo;s impact was the creation of a DAG specifically designed to update the traffic congestion colorization for our streets. This DAG runs every 10 minutes, ensuring that our congestion data remains up-to-date and accurate. The intuitive Airflow UI also proved to be invaluable, as it enabled our non-technical teammates to easily work with DAGs and monitor their progress.</p>
+<p>By utilizing Airflow, we have not only automated our tasks but also improved collaboration and efficiency within our team. The ability to manage and monitor workflows through Airflow has significantly reduced manual effort and increased reliability. We are now able to focus more on analyzing and utilizing the data rather than spending time on repetitive and time-consuming manual tasks. Overall, Apache Airflow has proven to be an indispensable tool for our Map team, enabling us t [...]
+<h5 id="what-are-the-results">What are the results?</h5>
+<p>The implementation of Airflow has yielded significant results for our team. By automating and scheduling various tasks, ranging from data-related operations to deployments and data updates for the Map, we have successfully saved approximately 40 hours of manual work per week. This substantial time savings has allowed our team members to focus on more strategic and value-added activities, ultimately enhancing our overall productivity.</p>
+<p>Furthermore, Airflow&rsquo;s intuitive UI has enhanced visibility into our workflows. We can easily check DAG and task logs through the Airflow UI, enabling us to monitor the progress and performance of our tasks effectively. This improved visibility has not only increased our confidence in the reliability of our processes but has also facilitated troubleshooting and issue resolution, leading to smoother operations and reduced downtime.</p>
+<p>Overall, the results of implementing Airflow have been highly beneficial for our team. The significant reduction in manual work hours has freed up valuable time and resources, allowing us to allocate them towards more critical tasks. Additionally, the improved visibility and monitoring capabilities offered by Airflow have enhanced our operational efficiency and reliability. We are extremely pleased with the positive impact Airflow has had on our team&rsquo;s productivity and [...]
+
+ </description>
+ </item>
+
+ </channel>
+</rss>
diff --git a/landing-pages/site/assets/icons/airflow-logo.svg b/blocktype/use-case/index.html
similarity index 51%
copy from landing-pages/site/assets/icons/airflow-logo.svg
copy to blocktype/use-case/index.html
index bd3a7623fd..48e7b443c1 100644
--- a/landing-pages/site/assets/icons/airflow-logo.svg
+++ b/blocktype/use-case/index.html
@@ -1,4 +1,108 @@
-<svg xmlns="http://www.w3.org/2000/svg" width="155.314" height="60" viewBox="0 0 155.314 60">
+
+
+<!doctype html>
+<html lang="en" class="no-js">
+<head>
+
+
+<meta charset="utf-8">
+<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+<meta name="generator" content="Hugo 0.91.2" />
+
+<META NAME="ROBOTS" CONTENT="INDEX, FOLLOW">
+
+<link rel="alternate" type="application/rss+xml" href="/blocktype/use-case/index.xml">
+
+
+<link rel="apple-touch-icon" sizes="57x57" href="/favicons/apple-icon-57x57.png">
+<link rel="apple-touch-icon" sizes="60x60" href="/favicons/apple-icon-60x60.png">
+<link rel="apple-touch-icon" sizes="72x72" href="/favicons/apple-icon-72x72.png">
+<link rel="apple-touch-icon" sizes="76x76" href="/favicons/apple-icon-76x76.png">
+<link rel="apple-touch-icon" sizes="114x114" href="/favicons/apple-icon-114x114.png">
+<link rel="apple-touch-icon" sizes="120x120" href="/favicons/apple-icon-120x120.png">
+<link rel="apple-touch-icon" sizes="144x144" href="/favicons/apple-icon-144x144.png">
+<link rel="apple-touch-icon" sizes="152x152" href="/favicons/apple-icon-152x152.png">
+<link rel="apple-touch-icon" sizes="180x180" href="/favicons/apple-icon-180x180.png">
+<link rel="icon" type="image/png" sizes="192x192" href="/favicons/android-icon-192x192.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/favicons/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="96x96" href="/favicons/favicon-96x96.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/favicons/favicon-16x16.png">
+<link rel="manifest" href="/manifest.json">
+<meta name="msapplication-TileColor" content="#ffffff">
+<meta name="msapplication-TileImage" content="/favicons/ms-icon-144x144.png">
+<meta name="theme-color" content="#ffffff">
+
+<title>use-case | Apache Airflow</title><meta property="og:title" content="use-case" />
+<meta property="og:description" content="Platform created by the community to programmatically author, schedule and monitor workflows." />
+<meta property="og:type" content="website" />
+<meta property="og:url" content="/blocktype/use-case/" /><meta property="og:image" content="/images/feature-image.png"/><meta property="og:site_name" content="Apache Airflow" />
+
+<meta itemprop="name" content="use-case">
+<meta itemprop="description" content="Platform created by the community to programmatically author, schedule and monitor workflows.">
+
+
+
+
+
+
+<link rel="preload" href="/scss/main.min.b17aebabd27496c9901cfab812b30fb885ece0ac9dedd4969f14edf568b76157.css" as="style">
+<link href="/scss/main.min.b17aebabd27496c9901cfab812b30fb885ece0ac9dedd4969f14edf568b76157.css" rel="stylesheet" integrity="">
+
+<script
+ src="/external/js/jquery-3.3.1.min.js"
+ integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
+ crossorigin="anonymous"></script>
+
+
+<meta name="description" content="Platform created by the community to programmatically author, schedule and monitor workflows." />
+
+
+
+
+ <link rel="preload" href="/scss/main-custom.min.b8fa50ff03a3cb99184036e59eb0c9feffd1e8dbd96bb022465167b167b3a286.css" as="style">
+ <link href="/scss/main-custom.min.b8fa50ff03a3cb99184036e59eb0c9feffd1e8dbd96bb022465167b167b3a286.css" rel="stylesheet" integrity="">
+
+
+
+<script>
+ var _paq = window._paq = window._paq || [];
+
+
+ _paq.push(['disableCookies']);
+ _paq.push(['trackPageView']);
+ _paq.push(['enableLinkTracking']);
+ (function() {
+ var u="https://analytics.apache.org/";
+ _paq.push(['setTrackerUrl', u+'matomo.php']);
+ _paq.push(['setSiteId', '13']);
+ var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
+ g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+ })();
+</script>
+
+
+
+<link rel="preload" href="/main.60e9d.js" as="script">
+<link rel="preload" href="/chunk-1.60e9d.js" as="script">
+
+<link rel="preload" href="/chunk-4.60e9d.js" as="script">
+
+
+
+
+</head>
+<body class="td-term">
+<header>
+
+
+
+<a href="https://airflowsummit.org" target="_blank" class="d-block fixed-top px-3 py-2 bg-success text-center text-bold text-white">
+ Airflow Summit 2025 is coming October 07-09. Register now for early bird ticket!
+</a>
+<nav class="js-navbar-scroll navbar" style="top: 40px;">
+ <div class="navbar__icon-container">
+ <a href="/">
+ <svg xmlns="http://www.w3.org/2000/svg" width="155.314" height="60" viewBox="0 0 155.314 60">
<defs>
<clipPath id="clip-path">
<path id="Rectangle_1" d="M0 0h155.314v60H0z" fill="none" data-name="Rectangle 1"/>
@@ -23,3 +127,433 @@
</g>
</g>
</svg>
+
+ </a>
+ </div>
+ <div class="desktop-only navbar__menu-container">
+
+ <div class="navbar__menu-content" id="main_navbar">
+
+
+ <div class="navbar__links-container">
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/community/"
+ >
+ Community
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/meetups/"
+ >
+ Meetups
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/docs/"
+ >
+ Documentation
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/use-cases/"
+ >
+ Use Cases
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/announcements/"
+ >
+ Announcements
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/blog/"
+ >
+ Blog
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/ecosystem/"
+ >
+ Ecosystem
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/blog/airflow-survey-2024/"
+ >
+ Airflow Survey 2024
+ </a>
+
+ </div>
+ </div>
+
+ </div>
+ <div class="no-desktop navbar__drawer-container">
+ <button class="navbar__toggle-button" id="navbar-toggle-button">
+
+ <div id="hamburger-icon" class="navbar__toggle-button--icon visible">
+ <svg xmlns="http://www.w3.org/2000/svg" width="26" height="20" viewBox="0 0 26 20">
+ <g id="Group_1294" data-name="Group 1294" transform="translate(-38.791 291)">
+ <g id="Group_1291" data-name="Group 1291" transform="translate(39 -291)">
+ <rect id="Rectangle_461" width="26" height="2" fill="#51504f" data-name="Rectangle 461" rx="1" transform="translate(-.209)"/>
+ </g>
+ <g id="Group_1292" data-name="Group 1292" transform="translate(39 -281.822)">
+ <rect id="Rectangle_462" width="26" height="2" fill="#51504f" data-name="Rectangle 462" rx="1" transform="translate(-.209 -.178)"/>
+ </g>
+ <g id="Group_1293" data-name="Group 1293" transform="translate(39 -272.644)">
+ <rect id="Rectangle_463" width="26" height="2" fill="#51504f" data-name="Rectangle 463" rx="1" transform="translate(-.209 -.356)"/>
+ </g>
+ </g>
+</svg>
+
+ </div>
+
+
+ <div id="close-icon" class="navbar__toggle-button--icon">
+ <svg xmlns="http://www.w3.org/2000/svg" width="19.799" height="19.799" viewBox="0 0 19.799 19.799">
+ <g id="Group_1574" data-name="Group 1574" transform="translate(-41.892 290.899)">
+ <g id="Group_1291" data-name="Group 1291" transform="rotate(-45 -308.114 -187.077)">
+ <rect id="Rectangle_461" width="26" height="2" fill="#51504f" data-name="Rectangle 461" rx="1" transform="translate(-.209)"/>
+ </g>
+ <g id="Group_1292" data-name="Group 1292" transform="rotate(45 372.48 -93.011)">
+ <rect id="Rectangle_462" width="26" height="2" fill="#51504f" data-name="Rectangle 462" rx="1" transform="translate(-.209 -.178)"/>
+ </g>
+ </g>
+</svg>
+
+ </div>
+
+ </button>
+ <div class="navbar__drawer" id="navbar-drawer">
+ <div class="navbar__menu-content" id="main_navbar">
+
+
+ <div class="navbar__links-container">
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/community/"
+ >
+ Community
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/meetups/"
+ >
+ Meetups
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/docs/"
+ >
+ Documentation
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/use-cases/"
+ >
+ Use Cases
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/announcements/"
+ >
+ Announcements
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/blog/"
+ >
+ Blog
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/ecosystem/"
+ >
+ Ecosystem
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/blog/airflow-survey-2024/"
+ >
+ Airflow Survey 2024
+ </a>
+
+ </div>
+ </div>
+</div>
+ </div>
+</nav>
+
+
+
+</header>
+<div class="container-fluid td-default">
+ <div class="base-layout">
+ <main role="main" class="td-main container">
+
+
+
+ </main>
+
+
+<div class="base-layout--button">
+
+ <a href=https://github.com/apache/airflow-site/edit/main/landing-pages/site/content/en/blocktype/use-case>
+
+
+
+<button class="btn-hollow btn-brown btn-with-icon with-box-shadow button-fixed">
+ <svg xmlns="http://www.w3.org/2000/svg" width="30.76" height="30">
+ <path d="M15.379 0a15.381 15.381 0 00-4.86 29.974c.769.141 1.05-.334 1.05-.741 0-.365-.013-1.332-.021-2.616-4.278.929-5.181-2.062-5.181-2.062a4.071 4.071 0 00-1.708-2.25c-1.4-.954.106-.935.106-.935a3.231 3.231 0 012.356 1.585 3.274 3.274 0 004.476 1.278 3.287 3.287 0 01.976-2.056c-3.415-.388-7.005-1.707-7.005-7.6a5.947 5.947 0 011.583-4.127 5.53 5.53 0 01.151-4.07s1.291-.413 4.229 1.577a14.577 14.577 0 017.7 0c2.936-1.99 4.225-1.577 4.225-1.577a5.523 5.523 0 01.153 4.07 5.937 5.937 0 [...]
+ data-name="Path 224" fill="#51504f" fill-rule="evenodd"/>
+</svg>
+
+ <span class="bodytext__medium--brownish-grey">Suggest a change on this page</span>
+</button>
+
+ </a>
+</div>
+
+ </div>
+</div>
+
+
+
+<footer>
+ <div class="footer-section footer-section__media-section">
+ <div class="d-flex align-items-center">
+
+
+
+ <a class="footer-section__media-section--link" target="_blank" href="https://github.com/apache/airflow/">
+ <svg xmlns="http://www.w3.org/2000/svg" width="46.14" height="45" viewBox="0 0 46.14 45">
+ <path id="Path_207" d="M228.962 1078.578a23.072 23.072 0 0 0-7.29 44.96c1.154.212 1.574-.5 1.574-1.112 0-.548-.02-2-.031-3.924-6.417 1.394-7.771-3.093-7.771-3.093a6.109 6.109 0 0 0-2.562-3.375c-2.095-1.431.159-1.4.159-1.4a4.846 4.846 0 0 1 3.533 2.377c2.058 3.525 5.4 2.507 6.714 1.917a4.926 4.926 0 0 1 1.464-3.084c-5.123-.582-10.508-2.562-10.508-11.4a8.919 8.919 0 0 1 2.374-6.191 8.3 8.3 0 0 1 .226-6.105s1.937-.62 6.344 2.365a21.857 21.857 0 0 1 11.551 0c4.4-2.985 6.338-2.365 6.338-2 [...]
+</svg>
+
+ </a>
+
+ <a class="footer-section__media-section--link" target="_blank" href="https://apache-airflow.slack.com/">
+ <svg xmlns="http://www.w3.org/2000/svg" width="45.073" height="45.073" viewBox="0 0 45.073 45.073">
+ <g id="Group_208" data-name="Group 208" transform="translate(-661.145 -806.287)">
+ <g id="Group_204" data-name="Group 204" transform="translate(661.145 830.01)">
+ <path id="Path_208" d="M670.634 856.859a4.744 4.744 0 1 1-4.744-4.744h4.744z" fill="#fff" data-name="Path 208" transform="translate(-661.145 -852.115)"/>
+ <path id="Path_209" d="M684.059 856.859a4.744 4.744 0 0 1 9.489 0v11.861a4.744 4.744 0 1 1-9.489 0z" fill="#fff" data-name="Path 209" transform="translate(-672.198 -852.115)"/>
+ </g>
+ <g id="Group_205" data-name="Group 205" transform="translate(661.145 806.287)">
+ <path id="Path_210" d="M688.8 815.776a4.744 4.744 0 1 1 4.744-4.745v4.745z" fill="#fff" data-name="Path 210" transform="translate(-672.198 -806.287)"/>
+ <path id="Path_211" d="M677.751 829.2a4.744 4.744 0 0 1 0 9.489H665.89a4.744 4.744 0 1 1 0-9.489z" fill="#fff" data-name="Path 211" transform="translate(-661.145 -817.34)"/>
+ </g>
+ <g id="Group_206" data-name="Group 206" transform="translate(684.868 806.287)">
+ <path id="Path_212" d="M729.887 833.945a4.744 4.744 0 1 1 4.745 4.745h-4.745z" fill="#fff" data-name="Path 212" transform="translate(-718.026 -817.34)"/>
+ <path id="Path_213" d="M716.462 822.893a4.744 4.744 0 1 1-9.489 0v-11.862a4.744 4.744 0 0 1 9.489 0z" fill="#fff" data-name="Path 213" transform="translate(-706.973 -806.287)"/>
+ </g>
+ <g id="Group_207" data-name="Group 207" transform="translate(684.868 830.01)">
+ <path id="Path_214" d="M711.718 875.029a4.744 4.744 0 1 1-4.745 4.744v-4.744z" fill="#fff" data-name="Path 214" transform="translate(-706.973 -863.168)"/>
+ <path id="Path_215" d="M711.718 861.6a4.744 4.744 0 1 1 0-9.489h11.861a4.744 4.744 0 0 1 0 9.489z" fill="#fff" data-name="Path 215" transform="translate(-706.973 -852.115)"/>
+ </g>
+ </g>
+</svg>
+
+ </a>
+
+ <a class="footer-section__media-section--link" target="_blank" href="https://stackoverflow.com/questions/tagged/airflow/">
+ <svg xmlns="http://www.w3.org/2000/svg" width="37.647" height="44.6" viewBox="0 0 37.647 44.6">
+ <g id="Group_209" data-name="Group 209" transform="translate(-645.2 -975.455)">
+ <path id="Path_216" d="M677.028 1043.1v-11.948h3.966v15.914H645.2v-15.914h3.966v11.948z" fill="#fff" data-name="Path 216" transform="translate(0 -27.014)"/>
+ <path id="Path_217" d="M661.012 1003.008l19.467 4.069.824-3.914-19.467-4.069zm2.575-9.27l18.025 8.395 1.648-3.605-18.025-8.446zm5-8.858l15.3 12.721 2.524-3.039-15.3-12.721zm9.888-9.425l-3.193 2.369 11.845 15.965 3.193-2.369zm-17.875 36.617h19.879v-3.966H660.6z" fill="#fff" data-name="Path 217" transform="translate(-7.469)"/>
+ </g>
+</svg>
+
+ </a>
+
+ <a class="footer-section__media-section--link" target="_blank" href="https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/">
+ <svg xmlns="http://www.w3.org/2000/svg" width="49.594" height="34.941" viewBox="0 0 49.594 34.941">
+ <path id="Path_223" d="M1124.557 1230a6.232 6.232 0 0 0-4.385-4.413c-3.867-1.043-19.376-1.043-19.376-1.043s-15.508 0-19.376 1.043a6.232 6.232 0 0 0-4.385 4.413c-1.036 3.893-1.036 12.014-1.036 12.014s0 8.122 1.036 12.015a6.232 6.232 0 0 0 4.385 4.413c3.867 1.043 19.376 1.043 19.376 1.043s15.509 0 19.376-1.043a6.232 6.232 0 0 0 4.385-4.413c1.036-3.893 1.036-12.015 1.036-12.015s.001-8.123-1.036-12.014zm-28.833 19.388v-14.748l12.962 7.374z" fill="#fff" data-name="Path 223" transform="tra [...]
+</svg>
+
+ </a>
+
+
+
+ </div>
+ <div class="footer-section__media-section--button-with-text">
+ <span class="footer-section__media-section--text">Want to be a part of Apache Airflow?</span>
+ <a href="/community/">
+
+
+<button id="" class="btn-filled bodytext__medium--white ">Join community</button>
+
+ </a>
+ </div>
+ </div>
+ <div class="footer-section footer-section__policies-section">
+ <div class="footer-section">
+ <span>© The Apache Software Foundation 2025</span>
+ <div class="footer-section__policies-section--policies">
+
+
+
+ <a href="https://www.apache.org/licenses/" class="footer-section__policies-section--policy-item">
+ <span>License</span>
+ </a>
+
+ <a href="https://www.apache.org/foundation/sponsorship.html" class="footer-section__policies-section--policy-item">
+ <span>Donate</span>
+ </a>
+
+ <a href="https://www.apache.org/foundation/thanks.html" class="footer-section__policies-section--policy-item">
+ <span>Thanks</span>
+ </a>
+
+ <a href="https://www.apache.org/security/" class="footer-section__policies-section--policy-item">
+ <span>Security</span>
+ </a>
+
+ <a href="/privacy-notice/" class="footer-section__policies-section--policy-item">
+ <span>Privacy notice</span>
+ </a>
+
+ <a href="/code-of-conduct/" class="footer-section__policies-section--policy-item">
+ <span>Code of Conduct</span>
+ </a>
+
+
+
+ <div class="footer-section__policies-section--language-toggle">
+
+
+
+<a class="dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
+ <span>English</span>
+</a>
+<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
+
+</div>
+
+ </div>
+ </div>
+ </div>
+ <span class="footer-section__policies-section--disclaimer">
+ Apache Airflow, Apache, Airflow, the Airflow logo, and the Apache feather logo are either registered trademarks or trademarks of
+ <a href="https://apache.org/">The Apache Software Foundation</a>.
+ All other products or name brands are trademarks of their respective holders, including The Apache Software Foundation.
+ </span>
+ </div>
+</footer>
+
+
+<script src="/external/js/cdnjs.cloudflare.com-1.14.3-popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
+<script src="/external/js/stackpath.bootstrapcdn.com-4.1.3-bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
+
+
+
+
+
+
+<script src="/js/main.min.5c74b870c6953931a705f390a49c7e4c0a842ec5c83b24354758dd674343ed0d.js" integrity="sha256-XHS4cMaVOTGnBfOQpJx+TAqELsXIOyQ1R1jdZ0ND7Q0=" crossorigin="anonymous"></script>
+
+
+
+</body>
+
+
+ <script src="/main.60e9d.js"></script>
+
+</html>
diff --git a/blocktype/use-case/index.xml b/blocktype/use-case/index.xml
new file mode 100644
index 0000000000..c534b1ab0e
--- /dev/null
+++ b/blocktype/use-case/index.xml
@@ -0,0 +1,170 @@
+<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
+ <channel>
+ <title>Apache Airflow – use-case</title>
+ <link>/blocktype/use-case/</link>
+ <description>Recent content in use-case on Apache Airflow</description>
+ <generator>Hugo -- gohugo.io</generator>
+
+ <atom:link href="/blocktype/use-case/index.xml" rel="self" type="application/rss+xml" />
+
+
+
+
+
+
+
+ <item>
+ <title>Use-Cases: Business Operations</title>
+ <link>/use-cases/business_operations/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>/use-cases/business_operations/</guid>
+ <description>
+
+
+ <div style="display: flex; justify-content: center; align-items: center;">
+<h1 id="use-airflow-for-business-operations-pipelines">Use Airflow for Business operations pipelines</h1>
+</div>
+<p>Airflow can be the starting point for your business idea! For many companies, Airflow delivers the data that powers their core business applications. Whether you need to aggregate user data to power personalized recommendations, display analytics in a user-facing dashboard, or prepare the input data for an LLM, Airflow is the perfect orchestrator.</p>
+<p>This video shows an example of using Airflow to run the pipelines that power a customer-facing analytics dashboard. You can find the code shown in this example <a href="https://github.com/astronomer/business-operations-structure-example">here</a>.</p>
+<div id="videoContainer" style="display: flex; justify-content: center; align-items: center; border: 2px solid #ccc; width: 75%; margin: auto; padding: 20px;">
+ <a href="https://www.youtube.com/embed/2CEApKN0z1U?autoplay=1">
+ <img id="videoPlaceholder" src="/usecase-video-placeholders/placeholder_business_ops_video.png" style="cursor: pointer; width: 100%; max-width: 560px;" alt="Click to play a one minute video showing the use case" title="Click to play video"/>
+ </a>
+</div>
+</br>
+<h2 id="why-use-airflow-for-business-operations">Why use Airflow for Business Operations?</h2>
+<p>Airflow is trusted and tested by many companies to deliver their data on time. Airflow is a popular choice to build your business upon, because it is:</p>
+<ul>
+<li><strong>Tool agnostic</strong>: Using Airflow future-proofs your business, as it can be used to orchestrate actions in nearly any external tool or service. This means you can always switch to the newest and best tools, without needing to change your whole orchestration layer.</li>
+<li><strong>Extensible</strong>: There are many Airflow modules available to connect to popular data tools, and you can write your own custom operators and hooks for specific use cases.</li>
+<li><strong>Dynamic</strong>: In Airflow you can define <a href="https://airflow.apache.org/docs/apache-airflow/stable/authoring-and-scheduling/dynamic-task-mapping.html">dynamic tasks</a>, which serve as placeholders to adapt at runtime based on changing input.</li>
+<li><strong>Scalable</strong>: Airflow can be scaled to handle infinite numbers of tasks and workflows, given enough computing power. If you choose Airflow, your business will be able to grow with it.</li>
+</ul>
+</br>
+<h2 id="airflow-features-for-business-operations">Airflow features for Business Operations</h2>
+<p>Airflow has several key features that make it a great option for orchestrating business operations:</p>
+<ul>
+<li><a href="https://airflow.apache.org/docs/apache-airflow/stable/authoring-and-scheduling/dynamic-task-mapping.html"><strong>Dynamic task mapping</strong></a>: Oftentimes business operations are not static. You may design your pipelines to have one task per customer or report, and those lists will always be changing. Dynamic task mapping allows you to build flexibility into your pipelines, so they can adjust at runtime based on changing input.</li>
+<li><a href="https://airflow.apache.org/docs/apache-airflow/stable/authoring-and-scheduling/datasets.html"><strong>Datasets</strong></a>: It is unlikely that you will have one team, much less one pipeline, responsible for all of the data that powers your business. Datasets allow you to make your pipelines event-based, scheduling them for when all data prerequisites are available rather than a specific time. With this type of scheduling, you can creat [...]
+<li><a href="https://airflow.apache.org/docs/apache-airflow-providers/core-extensions/notifications.html"><strong>Notifications</strong></a>: When relying on an orchestrator to power your business applications, it&rsquo;s critical that you know promptly when something goes wrong. Airflow has a suite of notifications available so you can send alerts to your system of preference.</li>
+</ul>
+
+ </description>
+ </item>
+
+ <item>
+ <title>Use-Cases: ETL/ELT</title>
+ <link>/use-cases/etl_analytics/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>/use-cases/etl_analytics/</guid>
+ <description>
+
+
+ <div style="display: flex; justify-content: center; align-items: center;">
+<h1 id="use-airflow-for-etlelt-pipelines">Use Airflow for ETL/ELT pipelines</h1>
+</div>
+<p>Extract-Transform-Load (ETL) and Extract-Load-Transform (ELT) data pipelines are the most common use case for Apache Airflow. 90% of respondents in the 2023 Apache Airflow survey are using Airflow for ETL/ELT to power analytics use cases.</p>
+<p>The video below shows a simple ETL/ELT pipeline in Airflow that extracts climate data from a CSV file, as well as weather data from an API, runs transformations and then loads the results into a database to power a dashboard. You can find the code for this example <a href="https://github.com/astronomer/airflow-quickstart">here</a>.</p>
+<div id="videoContainer" style="display: flex; justify-content: center; align-items: center; border: 2px solid #ccc; width: 75%; margin: auto; padding: 20px;">
+ <a href="https://www.youtube.com/embed/ljBU_VyihVQ?autoplay=1">
+ <img id="videoPlaceholder" src="/usecase-video-placeholders/placeholder_etl_video.png" style="cursor: pointer; width: 100%; max-width: 560px;" alt="Click to play a one minute video showing the use case" title="Click to play video"/>
+ </a>
+</div>
+</br>
+<h2 id="why-use-airflow-for-etlelt-pipelines">Why use Airflow for ETL/ELT pipelines?</h2>
+<p>Airflow is the de-facto standard for defining ETL/ELT pipelines as Python code. Airflow is popular for this use case because it is:</p>
+<ul>
+<li><strong>Tool agnostic</strong>: Airflow can be used to orchestrate ETL/ELT pipelines for any data source or destination.</li>
+<li><strong>Extensible</strong>: There are many Airflow modules available to connect to any data source or destination, and you can write your own custom operators and hooks for specific use cases.</li>
+<li><strong>Dynamic</strong>: In Airflow you can define <a href="https://airflow.apache.org/docs/apache-airflow/stable/authoring-and-scheduling/dynamic-task-mapping.html">dynamic tasks</a>, which serve as placeholders to adapt at runtime based on changing input.</li>
+<li><strong>Scalable</strong>: Airflow can be scaled to handle infinite numbers of tasks and workflows, given enough computing power.</li>
+</ul>
+<h2 id="airflow-features-for-etlelt-pipelines">Airflow features for ETL/ELT pipelines</h2>
+<p>Airflow has several key features that make it a great option for ETL/ELT:</p>
+<ul>
+<li><strong><a href="https://airflow.apache.org/docs/apache-airflow/stable/authoring-and-scheduling/datasets.html">Datasets</a></strong>: In Airflow you can schedule your DAGs in a data-driven way, based on updates to Datasets from any other task in your Airflow instance.</li>
+<li><strong><a href="https://airflow.apache.org/docs/apache-airflow/stable/core-concepts/objectstorage.html">Object Storage</a></strong>: The Airflow Object Storage is an abstraction over the <a href="https://docs.python.org/3/library/pathlib.html">Path API</a> that simplifies interaction with object storage systems such as Amazon S3, Google Cloud Storage, and Azure Blob Storage.</li>
+<li><strong><a href="https://airflow.apache.org/docs/apache-airflow-providers/index.html">Airflow providers</a></strong>: Airflow providers extend core Airflow functionality with additional modules to simplify integration with popular data tools. You can find a list of active providers <a href="https://airflow.apache.org/docs/#active-providers">here</a>.</li>
+</ul>
+
+ </description>
+ </item>
+
+ <item>
+ <title>Use-Cases: Infrastructure Management</title>
+ <link>/use-cases/infrastructure-management/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>/use-cases/infrastructure-management/</guid>
+ <description>
+
+
+ <div style="display: flex; justify-content: center; align-items: center;">
+<h1 id="use-airflow-for-infrastructure-management">Use Airflow for Infrastructure Management</h1>
+</div>
+<p>Airflow can interact with any API, which makes it a great tool to manage your infrastructure, such as Kubernetes or Spark clusters running in any cloud. As of Airflow 2.7, the setup/teardown feature is available, a special type of task with intelligent behavior to spin up and tear down infrastructure at the exact time you need it.</p>
+<p>Infrastructure management is often needed within the context of other use cases, such as MLOps, or implementing data quality checks. This video shows an example of how it might be used for an MLOps pipeline. You can find the code shown in this example <a href="https://github.com/astronomer/use-case-setup-teardown-data-quality">here</a>.</p>
+<div id="videoContainer" style="display: flex; justify-content: center; align-items: center; border: 2px solid #ccc; width: 75%; margin: auto; padding: 20px;">
+ <a href="https://www.youtube.com/embed/JkURWnl76GQ?autoplay=1">
+ <img id="videoPlaceholder" src="/usecase-video-placeholders/placeholder_infra_video.png" style="cursor: pointer; width: 100%; max-width: 560px;" alt="Click to play a one minute video showing the use case" title="Click to play video"/>
+ </a>
+</div>
+</br>
+<h2 id="why-use-airflow-for-infrastructure-management">Why use Airflow for Infrastructure Management</h2>
+<p>Airflow is a popular choice for pipelines that require managing infrastructure because it is:</p>
+<ul>
+<li><strong>Python native</strong>: Pipelines as Python code make it easy to turn custom functions into tasks. Any logic you need to manage your infrastructure, you can implement in Airflow with Python.</li>
+<li><strong>Extensible</strong>: Infrastructure management is needed for many use cases, including MLOps, data quality checks, and more. Airflow&rsquo;s flexibility and wide array of providers makes it suitable for any use case that you may need to implement.</li>
+<li><strong>Scalable</strong>: Airflow can be scaled to handle infinite numbers of tasks and workflows, given enough computing power. If you choose Airflow, your business will be able to grow with it.</li>
+</ul>
+<h2 id="airflow-features-for-infrastructure-management">Airflow features for Infrastructure Management</h2>
+<p>Airflow 2.7 implemented a new key feature that makes it an even greater option for managing infrastructure:</p>
+<ul>
+<li><a href="https://airflow.apache.org/docs/apache-airflow/stable/howto/setup-and-teardown.html"><strong>Setup/teardown tasks</strong></a>: Setup/teardown tasks are a special type of task that can be used to manage the infrastructure needed to run other tasks. They have special behavior to support the pattern of setting up resources and configuration (e.g. a Spark cluster or other compute resources) before a task runs, and then tearing down that inf [...]
+</ul>
+
+ </description>
+ </item>
+
+ <item>
+ <title>Use-Cases: MLOps</title>
+ <link>/use-cases/mlops/</link>
+ <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
+
+ <guid>/use-cases/mlops/</guid>
+ <description>
+
+
+ <div style="display: flex; justify-content: center; align-items: center;">
+<h1 id="use-airflow-for-machine-learning-operations-mlops">Use Airflow for Machine Learning Operations (MLOps)</h1>
+</div>
+<p>Machine Learning Operations (MLOps) is a broad term encompassing everything needed to run machine learning models in production. MLOps is a rapidly evolving field with many different best practices and behavioral patterns, with Apache Airflow providing tool agnostic orchestration capabilities for all steps. An emerging subset of MLOps is Large Language Model Operations (LLMOps), which focuses on developing pipelines around applications of large language models like GPT-4 or Comm [...]
+<p>The following video shows an example of using Airflow and Weaviate to create an automatic RAG pipeline that ingests and embeds data from news articles and provides trading advice. You can find the code shown in this example <a href="https://github.com/astronomer/use-case-airflow-llm-rag-finance">here</a>.</p>
+<div id="videoContainer" style="display: flex; justify-content: center; align-items: center; border: 2px solid #ccc; width: 75%; margin: auto; padding: 20px;">
+ <a href="https://www.youtube.com/embed/QcBdh_n4es4?autoplay=1">
+ <img id="videoPlaceholder" src="/usecase-video-placeholders/placeholder_mlops_video.png" style="cursor: pointer; width: 100%; max-width: 560px;" alt="Click to play a one minute video showing the use case" title="Click to play video"/>
+ </a>
+</div>
+</br>
+<h2 id="why-use-airflow-for-mlops">Why use Airflow for MLOps?</h2>
+<p>Airflow is a popular choice for orchestrating MLOps workflows because it is:</p>
+<ul>
+<li><strong>Python native</strong>: You use Python code to define Airflow pipelines, which makes it easy to integrate the most popular machine learning tools and embed your ML operations in a best practice CI/CD workflow. By using the decorators of the TaskFlow API you can turn existing scripts into Airflow tasks.</li>
+<li><strong>Extensible</strong>: Airflow itself is written in Python, which makes it extensible with <a href="https://airflow.apache.org/docs/apache-airflow/stable/howto/custom-operator.html">custom modules</a> and <a href="https://airflow.apache.org/docs/apache-airflow/stable/authoring-and-scheduling/plugins.html">Airflow plugins</a>.</li>
+<li><strong>Data agnostic</strong>: Airflow is data agnostic, which means it can be used to orchestrate any data pipeline, regardless of the data format or storage solution. You can plug in any new data storage, such as the latest vector database or your favorite RDBMS, with minimal effort.</li>
+</ul>
+<h2 id="airflow-features-for-mlops">Airflow features for MLOps</h2>
+<p>Airflow has several key features that make it a great option for orchestrating MLOps workflows:</p>
+<ul>
+<li><strong>Monitoring and alerting</strong>: Airflow comes with production-ready monitoring and alerting modules like Airflow notifiers, extensive logging features, and Airflow listeners. They enable you to have fine-grained control over how you monitor your ML operations and how Airflow alerts you if something goes wrong.</li>
+<li><strong>Features for day 2 ops</strong>: Simple features like automatic retries, complex dependencies and branching logic, as well as the option to make pipelines dynamic make a big difference when orchestrating MLOps pipelines. Airflow has all of these built-in.</li>
+<li><strong><a href="https://airflow.apache.org/docs/apache-airflow-providers/index.html">Airflow providers</a></strong>: Airflow providers extend core Airflow functionality with additional modules to simplify integration with popular data tools, including many popular MLOps tools. You can find a list of active providers <a href="https://airflow.apache.org/docs/#active-providers">here</a>.</li>
+</ul>
+
+ </description>
+ </item>
+
+ </channel>
+</rss>
diff --git a/blog/airflow-1.10.10/index.html b/blog/airflow-1.10.10/index.html
new file mode 100644
index 0000000000..9407f1410d
--- /dev/null
+++ b/blog/airflow-1.10.10/index.html
@@ -0,0 +1,887 @@
+
+
+<!doctype html>
+<html lang="en" class="no-js">
+<head>
+
+
+<meta charset="utf-8">
+<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+<meta name="generator" content="Hugo 0.91.2" />
+
+<META NAME="ROBOTS" CONTENT="INDEX, FOLLOW">
+
+
+
+<link rel="apple-touch-icon" sizes="57x57" href="/favicons/apple-icon-57x57.png">
+<link rel="apple-touch-icon" sizes="60x60" href="/favicons/apple-icon-60x60.png">
+<link rel="apple-touch-icon" sizes="72x72" href="/favicons/apple-icon-72x72.png">
+<link rel="apple-touch-icon" sizes="76x76" href="/favicons/apple-icon-76x76.png">
+<link rel="apple-touch-icon" sizes="114x114" href="/favicons/apple-icon-114x114.png">
+<link rel="apple-touch-icon" sizes="120x120" href="/favicons/apple-icon-120x120.png">
+<link rel="apple-touch-icon" sizes="144x144" href="/favicons/apple-icon-144x144.png">
+<link rel="apple-touch-icon" sizes="152x152" href="/favicons/apple-icon-152x152.png">
+<link rel="apple-touch-icon" sizes="180x180" href="/favicons/apple-icon-180x180.png">
+<link rel="icon" type="image/png" sizes="192x192" href="/favicons/android-icon-192x192.png">
+<link rel="icon" type="image/png" sizes="32x32" href="/favicons/favicon-32x32.png">
+<link rel="icon" type="image/png" sizes="96x96" href="/favicons/favicon-96x96.png">
+<link rel="icon" type="image/png" sizes="16x16" href="/favicons/favicon-16x16.png">
+<link rel="manifest" href="/manifest.json">
+<meta name="msapplication-TileColor" content="#ffffff">
+<meta name="msapplication-TileImage" content="/favicons/ms-icon-144x144.png">
+<meta name="theme-color" content="#ffffff">
+
+<title>Apache Airflow 1.10.10 | Apache Airflow</title><meta property="og:title" content="Apache Airflow 1.10.10" />
+<meta property="og:description" content="We are happy to present Apache Airflow 1.10.10" />
+<meta property="og:type" content="article" />
+<meta property="og:url" content="/blog/airflow-1.10.10/" /><meta property="og:image" content="/images/feature-image.png"/><meta property="article:section" content="blog" />
+<meta property="article:published_time" content="2020-04-09T00:00:00+00:00" />
+<meta property="article:modified_time" content="2025-05-13T00:53:55+02:00" /><meta property="og:site_name" content="Apache Airflow" />
+
+<meta itemprop="name" content="Apache Airflow 1.10.10">
+<meta itemprop="description" content="We are happy to present Apache Airflow 1.10.10"><meta itemprop="datePublished" content="2020-04-09T00:00:00+00:00" />
+<meta itemprop="dateModified" content="2025-05-13T00:53:55+02:00" />
+<meta itemprop="wordCount" content="1143"><meta itemprop="image" content="/images/feature-image.png"/>
+<meta itemprop="keywords" content="release," />
+
+
+
+
+
+
+<link rel="preload" href="/scss/main.min.b17aebabd27496c9901cfab812b30fb885ece0ac9dedd4969f14edf568b76157.css" as="style">
+<link href="/scss/main.min.b17aebabd27496c9901cfab812b30fb885ece0ac9dedd4969f14edf568b76157.css" rel="stylesheet" integrity="">
+
+<script
+ src="/external/js/jquery-3.3.1.min.js"
+ integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
+ crossorigin="anonymous"></script>
+
+
+<meta name="description" content="We are happy to present Apache Airflow 1.10.10" />
+
+
+
+
+ <link rel="preload" href="/scss/main-custom.min.b8fa50ff03a3cb99184036e59eb0c9feffd1e8dbd96bb022465167b167b3a286.css" as="style">
+ <link href="/scss/main-custom.min.b8fa50ff03a3cb99184036e59eb0c9feffd1e8dbd96bb022465167b167b3a286.css" rel="stylesheet" integrity="">
+
+
+
+<script>
+ var _paq = window._paq = window._paq || [];
+
+
+ _paq.push(['disableCookies']);
+ _paq.push(['trackPageView']);
+ _paq.push(['enableLinkTracking']);
+ (function() {
+ var u="https://analytics.apache.org/";
+ _paq.push(['setTrackerUrl', u+'matomo.php']);
+ _paq.push(['setSiteId', '13']);
+ var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
+ g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+ })();
+</script>
+
+
+
+<link rel="preload" href="/main.60e9d.js" as="script">
+<link rel="preload" href="/chunk-1.60e9d.js" as="script">
+
+<link rel="preload" href="/chunk-4.60e9d.js" as="script">
+
+
+
+
+</head>
+<body class="td-page">
+<header>
+
+
+
+<a href="https://airflowsummit.org" target="_blank" class="d-block fixed-top px-3 py-2 bg-success text-center text-bold text-white">
+ Airflow Summit 2025 is coming October 07-09. Register now for early bird ticket!
+</a>
+<nav class="js-navbar-scroll navbar" style="top: 40px;">
+ <div class="navbar__icon-container">
+ <a href="/">
+ <svg xmlns="http://www.w3.org/2000/svg" width="155.314" height="60" viewBox="0 0 155.314 60">
+ <defs>
+ <clipPath id="clip-path">
+ <path id="Rectangle_1" d="M0 0h155.314v60H0z" fill="none" data-name="Rectangle 1"/>
+ </clipPath>
+ </defs>
+ <g id="logo" transform="translate(-1305 -780.355)">
+ <g id="Group_2" clip-path="url(#clip-path)" data-name="Group 2" transform="translate(1305 780.355)">
+ <g id="Group_1" data-name="Group 1" transform="translate(.486 .486)">
+ <path id="Path_1" d="M1307.562 880.867l28.187-28.893a.521.521 0 0 0 .063-.666c-1.714-2.393-4.877-2.808-6.049-4.416-3.472-4.763-4.353-7.459-5.845-7.292a.456.456 0 0 0-.271.143l-10.182 10.438c-5.858 6-6.7 19.225-6.852 30.3a.552.552 0 0 0 .949.386z" fill="#017cee" data-name="Path 1" transform="translate(-1306.613 -822.232)"/>
+ <path id="Path_2" d="M1405.512 908.489l-28.893-28.189a.521.521 0 0 0-.667-.063c-2.393 1.715-2.808 4.877-4.416 6.049-4.763 3.472-7.459 4.353-7.292 5.845a.456.456 0 0 0 .143.27l10.438 10.182c6 5.858 19.225 6.7 30.3 6.852a.552.552 0 0 0 .387-.946z" fill="#00ad46" data-name="Path 2" transform="translate(-1346.876 -850.567)"/>
+ <path id="Path_3" d="M1373.909 902.252c-3.28-3.2-4.8-9.53 1.486-22.583-10.219 4.567-13.8 10.57-12.039 12.289z" fill="#04d659" data-name="Path 3" transform="translate(-1345.96 -850.233)"/>
+ <path id="Path_4" d="M1433.132 782.359l-28.186 28.893a.52.52 0 0 0-.063.666c1.715 2.393 4.876 2.808 6.049 4.416 3.472 4.763 4.354 7.459 5.845 7.292a.454.454 0 0 0 .271-.143l10.182-10.438c5.858-6 6.7-19.225 6.852-30.3a.553.553 0 0 0-.95-.386z" fill="#00c7d4" data-name="Path 4" transform="translate(-1375.21 -782.123)"/>
+ <path id="Path_5" d="M1426.9 881.155c-3.2 3.28-9.53 4.8-22.584-1.486 4.567 10.219 10.57 13.8 12.289 12.039z" fill="#11e1ee" data-name="Path 5" transform="translate(-1374.875 -850.233)"/>
+ <path id="Path_6" d="M1307 782.919l28.893 28.186a.521.521 0 0 0 .666.063c2.393-1.715 2.808-4.877 4.416-6.049 4.763-3.472 7.459-4.353 7.292-5.845a.459.459 0 0 0-.143-.271l-10.438-10.182c-6-5.858-19.225-6.7-30.3-6.852a.552.552 0 0 0-.386.95z" fill="#e43921" data-name="Path 6" transform="translate(-1306.766 -781.97)"/>
+ <path id="Path_7" d="M1405.8 804.711c3.28 3.2 4.8 9.53-1.486 22.584 10.219-4.567 13.8-10.571 12.039-12.289z" fill-rule="evenodd" fill="#ff7557" data-name="Path 7" transform="translate(-1374.875 -797.859)"/>
+ <path id="Path_8" d="M1329.355 849.266c3.2-3.28 9.53-4.8 22.584 1.486-4.567-10.219-10.57-13.8-12.289-12.039z" fill="#0cb6ff" data-name="Path 8" transform="translate(-1322.503 -821.316)"/>
+ <circle id="Ellipse_1" cx="1.26" cy="1.26" r="1.26" fill="#4a4848" data-name="Ellipse 1" transform="translate(28.18 28.171)"/>
+ <path id="Path_9" d="M1527.558 827.347a.229.229 0 0 1-.223-.223.458.458 0 0 1 .011-.123l2.766-7.214a.346.346 0 0 1 .357-.245h.758a.348.348 0 0 1 .357.245l2.754 7.214.022.123a.228.228 0 0 1-.223.223h-.568a.288.288 0 0 1-.19-.056.352.352 0 0 1-.089-.134l-.613-1.583h-3.657l-.613 1.583a.317.317 0 0 1-.1.134.269.269 0 0 1-.178.056zm4.795-2.732l-1.505-3.958-1.505 3.958zm3.322 4.85a.258.258 0 0 1-.189-.078.241.241 0 0 1-.067-.178v-7.4a.241.241 0 0 1 .067-.178.258.258 0 0 1 .189- [...]
+ <path id="Path_10" d="M1527.2 827.081l-.061.061zm-.056-.279l-.08-.031zm2.766-7.214l.08.031zm1.472 0l-.081.029zm2.754 7.214l.084-.015a.064.064 0 0 0 0-.015zm.022.123h.086v-.015zm-.067.156l.06.061zm-.914.011l-.061.061.006.005zm-.089-.134l.081-.027zm-.613-1.583l.08-.031a.086.086 0 0 0-.08-.055zm-3.657 0v-.086a.086.086 0 0 0-.08.055zm-.613 1.583l-.08-.031zm-.1.134l.055.066zm4.047-2.676v.086a.086.086 0 0 0 .08-.116zm-1.505-3.958l.08-.03a.086.086 0 0 0-.16 0zm-1.505 3.958l-.08- [...]
+ <path id="Path_11" d="M1519.066 884.011a.581.581 0 0 1-.567-.567 1.151 1.151 0 0 1 .028-.312l7.026-18.328a.881.881 0 0 1 .906-.623h1.926a.882.882 0 0 1 .907.623l7 18.328.057.312a.583.583 0 0 1-.567.567h-1.445a.735.735 0 0 1-.482-.142.9.9 0 0 1-.226-.34l-1.558-4.023h-9.292l-1.558 4.023a.8.8 0 0 1-.255.34.688.688 0 0 1-.453.142zm12.181-6.94l-3.824-10.056-3.823 10.055zm8.184-10.538a.592.592 0 0 1-.652-.651v-1.53a.714.714 0 0 1 .17-.482.656.656 0 0 1 .482-.2h1.785a.677.677 0 [...]
+ </g>
+ </g>
+ </g>
+</svg>
+
+ </a>
+ </div>
+ <div class="desktop-only navbar__menu-container">
+
+ <div class="navbar__menu-content" id="main_navbar">
+
+
+ <div class="navbar__links-container">
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/community/"
+ >
+ Community
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/meetups/"
+ >
+ Meetups
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/docs/"
+ >
+ Documentation
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/use-cases/"
+ >
+ Use Cases
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/announcements/"
+ >
+ Announcements
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link active"
+ href="/blog/"
+ >
+ Blog
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/ecosystem/"
+ >
+ Ecosystem
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/blog/airflow-survey-2024/"
+ >
+ Airflow Survey 2024
+ </a>
+
+ </div>
+ </div>
+
+ </div>
+ <div class="no-desktop navbar__drawer-container">
+ <button class="navbar__toggle-button" id="navbar-toggle-button">
+
+ <div id="hamburger-icon" class="navbar__toggle-button--icon visible">
+ <svg xmlns="http://www.w3.org/2000/svg" width="26" height="20" viewBox="0 0 26 20">
+ <g id="Group_1294" data-name="Group 1294" transform="translate(-38.791 291)">
+ <g id="Group_1291" data-name="Group 1291" transform="translate(39 -291)">
+ <rect id="Rectangle_461" width="26" height="2" fill="#51504f" data-name="Rectangle 461" rx="1" transform="translate(-.209)"/>
+ </g>
+ <g id="Group_1292" data-name="Group 1292" transform="translate(39 -281.822)">
+ <rect id="Rectangle_462" width="26" height="2" fill="#51504f" data-name="Rectangle 462" rx="1" transform="translate(-.209 -.178)"/>
+ </g>
+ <g id="Group_1293" data-name="Group 1293" transform="translate(39 -272.644)">
+ <rect id="Rectangle_463" width="26" height="2" fill="#51504f" data-name="Rectangle 463" rx="1" transform="translate(-.209 -.356)"/>
+ </g>
+ </g>
+</svg>
+
+ </div>
+
+
+ <div id="close-icon" class="navbar__toggle-button--icon">
+ <svg xmlns="http://www.w3.org/2000/svg" width="19.799" height="19.799" viewBox="0 0 19.799 19.799">
+ <g id="Group_1574" data-name="Group 1574" transform="translate(-41.892 290.899)">
+ <g id="Group_1291" data-name="Group 1291" transform="rotate(-45 -308.114 -187.077)">
+ <rect id="Rectangle_461" width="26" height="2" fill="#51504f" data-name="Rectangle 461" rx="1" transform="translate(-.209)"/>
+ </g>
+ <g id="Group_1292" data-name="Group 1292" transform="rotate(45 372.48 -93.011)">
+ <rect id="Rectangle_462" width="26" height="2" fill="#51504f" data-name="Rectangle 462" rx="1" transform="translate(-.209 -.178)"/>
+ </g>
+ </g>
+</svg>
+
+ </div>
+
+ </button>
+ <div class="navbar__drawer" id="navbar-drawer">
+ <div class="navbar__menu-content" id="main_navbar">
+
+
+ <div class="navbar__links-container">
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/community/"
+ >
+ Community
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/meetups/"
+ >
+ Meetups
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/docs/"
+ >
+ Documentation
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/use-cases/"
+ >
+ Use Cases
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/announcements/"
+ >
+ Announcements
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link active"
+ href="/blog/"
+ >
+ Blog
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/ecosystem/"
+ >
+ Ecosystem
+ </a>
+
+
+
+
+
+
+
+ <a class="navbar__text-link "
+ href="/blog/airflow-survey-2024/"
+ >
+ Airflow Survey 2024
+ </a>
+
+ </div>
+ </div>
+</div>
+ </div>
+</nav>
+
+
+
+</header>
+<div class="container-fluid td-default">
+ <div class="base-layout">
+ <main role="main" class="td-main container">
+
+ <div class="blogpost-content">
+
+
+<div class="blogpost-content--header-wrapper">
+ <div class="blogpost-content__metadata--container">
+ <div class="tags-container">
+
+
+ <a class="tag" href="/blog/tags/release/">Release</a>
+
+
+ </div>
+ <span class="bodytext__medium--brownish-grey">Thu, Apr 9, 2020</span>
+ </div>
+ <p class="blogpost-content__metadata--title">Apache Airflow 1.10.10</p>
+ <div class="blogpost-content__metadata--author">
+
+ <span class="blogpost-content__metadata--author-name">Kaxil Naik</span>
+
+ <a href="https://github.com/kaxil/" class="blogpost-content__metadata--social-media-icon">
+ <svg xmlns="http://www.w3.org/2000/svg" width="21.737" height="21.2" viewBox="0 0 21.737 21.2">
+ <path id="Path_1378" d="M33.971 1181.31a10.87 10.87 0 0 0-3.435 21.182c.543.1.742-.236.742-.524 0-.258-.009-.941-.015-1.848-3.023.657-3.661-1.457-3.661-1.457a2.876 2.876 0 0 0-1.207-1.59c-.987-.674.075-.661.075-.661a2.283 2.283 0 0 1 1.665 1.12 2.314 2.314 0 0 0 3.163.9 2.322 2.322 0 0 1 .69-1.453c-2.413-.274-4.951-1.207-4.951-5.371a4.2 4.2 0 0 1 1.119-2.917 3.908 3.908 0 0 1 .107-2.876s.913-.292 2.989 1.114a10.3 10.3 0 0 1 5.442 0c2.075-1.406 2.986-1.114 2.986-1.114a3.9 3.9 0 0 1 .1 [...]
+</svg>
+
+ </a>
+
+
+ <a href="https://linkedin.com/in/kaxil/" class="blogpost-content__metadata--social-media-icon">
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 21">
+ <g id="Group_1745" data-name="Group 1745" transform="translate(.155 -.055)">
+ <ellipse id="Ellipse_20" cx="10" cy="10.5" fill="#51504f" data-name="Ellipse 20" rx="10" ry="10.5" transform="translate(-.155 .055)"/>
+ <g id="Group_698" data-name="Group 698" transform="translate(5.843 5.004)">
+ <path id="Path_644" d="M-1311.072 1423.962a.9.9 0 0 1-.972.9.888.888 0 0 1-.937-.9.9.9 0 0 1 .961-.9.892.892 0 0 1 .948.9zm-1.862 7.413v-5.8h1.8v5.8z" fill="#fff" data-name="Path 644" transform="translate(1312.981 -1423.061)"/>
+ <path id="Path_645" d="M-1284.253 1448.767c0-.723-.024-1.328-.047-1.85h1.565l.083.806h.035a2.084 2.084 0 0 1 1.791-.937c1.186 0 2.076.795 2.076 2.5v3.428h-1.8v-3.214c0-.747-.261-1.257-.914-1.257a.989.989 0 0 0-.925.676 1.29 1.29 0 0 0-.06.451v3.345h-1.8z" fill="#fff" data-name="Path 645" transform="translate(1287.182 -1444.402)"/>
+ </g>
+ </g>
+</svg>
+
+ </a>
+
+
+ </div>
+ <p class="blogpost-content__metadata--description">We are happy to present Apache Airflow 1.10.10</p>
+</div>
+<div class="markdown-content">
+ <p>Airflow 1.10.10 contains 199 commits since 1.10.9 and includes 11 new features, 43 improvements, 44 bug fixes, and several doc changes.</p>
+<p><strong>Details</strong>:</p>
+<ul>
+<li><strong>PyPI</strong>: <a href="https://pypi.org/project/apache-airflow/1.10.10/">https://pypi.org/project/apache-airflow/1.10.10/</a></li>
+<li><strong>Docs</strong>: <a href="https://airflow.apache.org/docs/1.10.10/">https://airflow.apache.org/docs/1.10.10/</a></li>
+<li><strong>Changelog</strong>: <a href="http://airflow.apache.org/docs/1.10.10/changelog.html">http://airflow.apache.org/docs/1.10.10/changelog.html</a></li>
+</ul>
+<p>Some of the noteworthy new features (user-facing) are:</p>
+<ul>
+<li><a href="https://github.com/apache/airflow/pull/8046">Allow user to chose timezone to use in the RBAC UI</a></li>
+<li><a href="https://github.com/apache/airflow/pull/7832">Add Production Docker image support</a></li>
+<li><a href="http://airflow.apache.org/docs/1.10.10/howto/use-alternative-secrets-backend.html">Allow Retrieving Airflow Connections & Variables from various Secrets backend</a></li>
+<li><a href="http://airflow.apache.org/docs/1.10.10/dag-serialization.html">Stateless Webserver using DAG Serialization</a></li>
+<li><a href="https://github.com/apache/airflow/pull/7880">Tasks with Dummy Operators are no longer sent to executor</a></li>
+<li><a href="https://github.com/apache/airflow/pull/7312">Allow passing DagRun conf when triggering dags via UI</a></li>
+</ul>
+<h3 id="allow-user-to-chose-timezone-to-use-in-the-rbac-ui">Allow user to chose timezone to use in the RBAC UI</h3>
+<p>By default the Web UI will show times in UTC. It is possible to change the timezone shown by using the menu in the top
+right (click on the clock to activate it):</p>
+<p><strong>Screenshot</strong>:
+<img src="rbac-ui-timezone.gif" alt="Allow user to chose timezone to use in the RBAC UI"></p>
+<p>Details: <a href="https://airflow.apache.org/docs/1.10.10/timezone.html#web-ui">https://airflow.apache.org/docs/1.10.10/timezone.html#web-ui</a></p>
+<p><strong>Note</strong>: This feature is only available for the RBAC UI (enabled using <code>rbac=True</code> in <code>[webserver]</code> section in your <code>airflow.cfg</code>).</p>
+<h3 id="add-production-docker-image-support">Add Production Docker image support</h3>
+<p>There are brand new production images (alpha quality) available for Airflow 1.10.10. You can pull them from the
+<a href="https://hub.docker.com/r/apache/airflow">Apache Airflow Dockerhub</a> repository and start using it.</p>
+<p>More information about using production images can be found in <a href="https://github.com/apache/airflow/blob/master/IMAGES.rst#using-the-images">https://github.com/apache/airflow/blob/master/IMAGES.rst#using-the-images</a>. Soon it will be updated with
+information how to use images using official helm chart.</p>
+<p>To pull the images you can run one of the following commands:</p>
+<ul>
+<li><code>docker pull apache/airflow:1.10.10-python2.7</code></li>
+<li><code>docker pull apache/airflow:1.10.10-python3.5</code></li>
+<li><code>docker pull apache/airflow:1.10.10-python3.6</code></li>
+<li><code>docker pull apache/airflow:1.10.10-python3.7</code></li>
+<li><code>docker pull apache/airflow:1.10.10</code> (uses Python 3.6)</li>
+</ul>
+<h3 id="allow-retrieving-airflow-connections--variables-from-various-secrets-backend">Allow Retrieving Airflow Connections & Variables from various Secrets backend</h3>
+<p>From Airflow 1.10.10, users would be able to get Airflow Variables from Environment Variables.</p>
+<p>Details: <a href="https://airflow.apache.org/docs/1.10.10/concepts.html#storing-variables-in-environment-variables">https://airflow.apache.org/docs/1.10.10/concepts.html#storing-variables-in-environment-variables</a></p>
+<p>A new concept of Secrets Backend has been introduced to retrieve Airflow Connections and Variables.</p>
+<p>From Airflow 1.10.10, users can retrieve Connections & Variables using the same syntax (no DAG code change is required),
+from a secret backend defined in <code>airflow.cfg</code>. If no backend is defined, Airflow falls-back to Environment Variables
+and then Metadata DB.</p>
+<p>Check <a href="https://airflow.apache.org/docs/1.10.10/howto/use-alternative-secrets-backend.html#configuration">https://airflow.apache.org/docs/1.10.10/howto/use-alternative-secrets-backend.html#configuration</a> for details on how-to
+configure Secrets backend.</p>
+<p>As of 1.10.10, Airflow supports the following Secret Backends:</p>
+<ul>
+<li>Hashicorp Vault</li>
+<li>GCP Secrets Manager</li>
+<li>AWS Parameters Store</li>
+</ul>
+<p>Details: <a href="https://airflow.apache.org/docs/1.10.10/howto/use-alternative-secrets-backend.html">https://airflow.apache.org/docs/1.10.10/howto/use-alternative-secrets-backend.html</a></p>
+<p>Example configuration to use Hashicorp Vault as the backend:</p>
+<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-ini" data-lang="ini"><span class="k">[secrets]</span>
+<span class="na">backend</span> <span class="o">=</span> <span class="s">airflow.contrib.secrets.hashicorp_vault.VaultBackend</span>
+<span class="na">backend_kwargs</span> <span class="o">=</span> <span class="s">{"url": "http://127.0.0.1:8200", "connections_path": "connections", "variables_path": "variables", "mount_point": "airflow"}</span>
+</code></pre></div><h3 id="stateless-webserver-using-dag-serialization">Stateless Webserver using DAG Serialization</h3>
+<p>The Webserver can now run without access to DAG Files when DAG Serialization is turned on.
+The 2 limitations we had in 1.10.7-1.10.9 (
+<a href="https://airflow.apache.org/docs/1.10.7/dag-serialization.html#limitations">https://airflow.apache.org/docs/1.10.7/dag-serialization.html#limitations</a>)
+have been resolved.</p>
+<p>The main advantage of this would be reduction in Webserver startup time for large number of DAGs.
+Without DAG Serialization all the DAGs are loaded in the DagBag during the
+Webserver startup.</p>
+<p>With DAG Serialization, an empty DagBag is created and
+Dags are loaded from DB only when needed (i.e. when a particular DAG is
+clicked on in the home page)</p>
+<p>Details: <a href="http://airflow.apache.org/docs/1.10.10/dag-serialization.html">http://airflow.apache.org/docs/1.10.10/dag-serialization.html</a></p>
+<h3 id="tasks-using-dummy-operators-are-no-longer-sent-to-executor">Tasks using Dummy Operators are no longer sent to executor</h3>
+<p>The Dummy operators does not actually do any work and are mostly used for organizing/grouping tasks along
+with BranchPythonOperator.</p>
+<p>Previously, when using Kubernetes Executor, the executor would spin up a whole worker pod to execute a dummy task.
+With Airflow 1.10.10 tasks using Dummy Operators would be scheduled & evaluated by the Scheduler but not sent to the
+Executor. This should significantly improve execution time and resource usage.</p>
+<h3 id="allow-passing-dagrun-conf-when-triggering-dags-via-ui">Allow passing DagRun conf when triggering dags via UI</h3>
+<p>When triggering a DAG from the CLI or the REST API, it s possible to pass configuration for the DAG run as a JSON blob.</p>
+<p>From Airflow 1.10.10, when a user clicks on Trigger Dag button, a new screen confirming the trigger request, and allowing the user to pass a JSON configuration
+blob would be show.</p>
+<p><strong>Screenshot</strong>:
+<img src="trigger-dag-conf.png" alt="Allow passing DagRun conf when triggering dags via UI"></p>
+<p>Details: <a href="https://github.com/apache/airflow/pull/7312">https://github.com/apache/airflow/pull/7312</a></p>
+<h2 id="updating-guide">Updating Guide</h2>
+<p>If you are updating Apache Airflow from a previous version to <code>1.10.10</code>, please take a note of the following:</p>
... 131278 lines suppressed ...