This is an automated email from the ASF dual-hosted git repository.
jscheffl pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new d273d99262f Update Helm Chart release notes for 1.20.0 (#63759)
d273d99262f is described below
commit d273d99262f93d9af601b3fb3c12f915f4ddbb27
Author: Jens Scheffler <[email protected]>
AuthorDate: Wed Mar 18 00:01:43 2026 +0100
Update Helm Chart release notes for 1.20.0 (#63759)
* Update Helm Chart release notes for 1.20.0
* Review feedback Elad
* Review feedback on release notes
* Add 63659 to release notes
* Fix spellcheck + feedback Mirtpl
---
chart/Chart.yaml | 421 +++++++-----------------------
chart/RELEASE_NOTES.rst | 134 ++++++++++
chart/newsfragments/60750.significant.rst | 57 ----
chart/newsfragments/61018.significant.rst | 4 -
chart/newsfragments/61414.significant.rst | 1 -
chart/newsfragments/61820.significant.rst | 1 -
chart/newsfragments/61890.significant.rst | 1 -
chart/newsfragments/62334.significant.rst | 5 -
chart/newsfragments/63019.feature.rst | 1 -
chart/newsfragments/63392.significant.rst | 3 -
chart/newsfragments/63659.significant.rst | 12 -
chart/reproducible_build.yaml | 4 +-
dev/README_RELEASE_HELM_CHART.md | 3 +-
13 files changed, 226 insertions(+), 421 deletions(-)
diff --git a/chart/Chart.yaml b/chart/Chart.yaml
index 5e020b658ac..441e4d75d0c 100644
--- a/chart/Chart.yaml
+++ b/chart/Chart.yaml
@@ -63,392 +63,147 @@ annotations:
- title: Code View
url:
https://airflow.apache.org/docs/apache-airflow/3.1.8/_images/dag_overview_code.png
artifacthub.io/changes: |
- - description: Add ``PodDisruptionBudget`` for Dag Processor
- kind: added
- links:
- - name: '#60294'
- url: https://github.com/apache/airflow/pull/60294
- - description: Add ``PodDisruptionBudget`` for Triggerer and Workers
- kind: added
- links:
- - name: '#59068'
- url: https://github.com/apache/airflow/pull/59068
- - description: Add ``HorizontalPodAutoscaler`` (HPA) for API Server
- kind: added
- links:
- - name: '#52392'
- url: https://github.com/apache/airflow/pull/52392
- - description: Add support for launching jobs with
``KubernetesJobOperator``
- kind: added
- links:
- - name: '#52024'
- url: https://github.com/apache/airflow/pull/52024
- - description: Add ``CronJob`` to clean old records in the database
- kind: added
- links:
- - name: '#58155'
- url: https://github.com/apache/airflow/pull/58155
- - description: Improve dag_bundle_config_list Configuration
- kind: changed
- links:
- - name: '#60645'
- url: https://github.com/apache/airflow/pull/60645
- - description: Add ``workers.celery.kerberosInitContainer`` &
``workers.kubernetes.kerberosInitContainer``
- kind: changed
- links:
- - name: '#60751'
- url: https://github.com/apache/airflow/pull/60751
- - description: Add ``workers.celery.securityContexts`` &
``workers.kubernetes.securityContexts``
- kind: changed
- links:
- - name: '#60396'
- url: https://github.com/apache/airflow/pull/60396
- - description: Add ``workers.celery.podManagementPolicy`` field
- kind: changed
- links:
- - name: '#60359'
- url: https://github.com/apache/airflow/pull/60359
- - description: Add ``workers.celery.strategy`` field
- kind: changed
- links:
- - name: '#60354'
- url: https://github.com/apache/airflow/pull/60354
- - description: Add ``workers.celery.updateStrategy`` field
- kind: changed
- links:
- - name: '#60351'
- url: https://github.com/apache/airflow/pull/60351
- - description: Add ``workers.celery.persistence`` section
- kind: changed
- links:
- - name: '#60238'
- url: https://github.com/apache/airflow/pull/60238
- - description: Add ``workers.celery.livenessProbe`` section
- kind: changed
- links:
- - name: '#60186'
- url: https://github.com/apache/airflow/pull/60186
- - description: Add ``workers.celery.args`` field
+ - description: Add missing deprecation warnings for workers section
kind: changed
links:
- - name: '#60163'
- url: https://github.com/apache/airflow/pull/60163
- - description: Add ``workers.celery.command`` &
``workers.kubernetes.command``
+ - name: '#63659'
+ url: https://github.com/apache/airflow/pull/63659
+ - description: Remove automatic `KUBERNETES_ENVIRONMENT_VARIABLES` and
`KUBERNETES_SECRETS`
+ prefixes from chart helpers
kind: changed
links:
- - name: '#60067'
- url: https://github.com/apache/airflow/pull/60067
- - description: Allow custom ``volumeClaimTemplates`` when
``logs.persistence.enabled``
- is true
+ - name: '#60750'
+ url: https://github.com/apache/airflow/pull/60750
+ - description: Remove JWT secrets from triggerer, worker and dag-processor
kind: changed
links:
- - name: '#60118'
- url: https://github.com/apache/airflow/pull/60118
- - description: Add checksum for JWT secret in API server and scheduler
deployments
+ - name: '#63204'
+ url: https://github.com/apache/airflow/pull/63204
+ - description: Add workers.celery.nodeSelector &
workers.kubernetes.nodeSelector
kind: changed
links:
- - name: '#60111'
- url: https://github.com/apache/airflow/pull/60111
- - description: Add ``workers.celery.revisionHistoryLimit`` field
+ - name: '#61957'
+ url: https://github.com/apache/airflow/pull/61957
+ - description: >
+ Add workers.celery.terminationGracePeriodSeconds &
workers.kubernetes.terminationGracePeriodSeconds
kind: changed
links:
- - name: '#60056'
- url: https://github.com/apache/airflow/pull/60056
- - description: Add Redis StatefulSet
``persistentVolumeClaimRetentionPolicy`` support
+ - name: '#61892'
+ url: https://github.com/apache/airflow/pull/61892
+ - description: Add workers.celery.resources & workers.kubernetes.resources
kind: changed
links:
- - name: '#59955'
- url: https://github.com/apache/airflow/pull/59955
- - description: Add ``workers.celery.replicas`` field
+ - name: '#61890'
+ url: https://github.com/apache/airflow/pull/61890
+ - description: Add workers.celery.keda section
kind: changed
links:
- - name: '#59730'
- url: https://github.com/apache/airflow/pull/59730
- - description: Add custom envs to database cleanup
+ - name: '#61820'
+ url: https://github.com/apache/airflow/pull/61820
+ - description: Add workers.celery.podDisruptionBudget
kind: changed
links:
- - name: '#59804'
- url: https://github.com/apache/airflow/pull/59804
- - description: Extend ``airflow_ti_running`` metrics by scheduled, queued
and deferred
+ - name: '#61414'
+ url: https://github.com/apache/airflow/pull/61414
+ - description: Add workers.celery.containerLifecycleHooks &
workers.kubernetes.containerLifecycleHooks
kind: changed
links:
- - name: '#58819'
- url: https://github.com/apache/airflow/pull/58819
- - description: Create an explicit control for ``createUserJob``
+ - name: '#61369'
+ url: https://github.com/apache/airflow/pull/61369
+ - description: Refactor Git-Sync livenessProbe & deprecate readinessProbe
& add startupProbe
kind: changed
links:
- - name: '#56057'
- url: https://github.com/apache/airflow/pull/56057
- - description: Make cleanup cronjob conditional on kubernetes executor
+ - name: '#62334'
+ url: https://github.com/apache/airflow/pull/62334
+ - description: Default airflow version to 3.1.8
kind: changed
links:
- - name: '#58695'
- url: https://github.com/apache/airflow/pull/58695
- - description: Add database cleanup options and remove deprecated
``securityContext``
- field
+ - name: '#63392'
+ url: https://github.com/apache/airflow/pull/63392
+ - description: Drop support for all Airflow versions below 2.11 in Helm
Chart
kind: changed
links:
- - name: '#58663'
- url: https://github.com/apache/airflow/pull/58663
- - description: Add ability to disable API Server
+ - name: '#61018'
+ url: https://github.com/apache/airflow/pull/61018
+ - description: Support Helm template expressions in podAnnotations
kind: changed
links:
- - name: '#56493'
- url: https://github.com/apache/airflow/pull/56493
- - description: Add ``registry.secretNames`` and ``registry.connections``
options
+ - name: '#63019'
+ url: https://github.com/apache/airflow/pull/63019
+ - description: Warn on deprecated per-component securityContext values
kind: changed
links:
- - name: '#58094'
- url: https://github.com/apache/airflow/pull/58094
- - description: Allow custom labels in StatsD, redis and Dag Processor
- kind: changed
- links:
- - name: '#55832'
- url: https://github.com/apache/airflow/pull/55832
- - description: Allow setting ``restartPolicy`` for batch jobs in chart
- kind: changed
- links:
- - name: '#54354'
- url: https://github.com/apache/airflow/pull/54354
- - description: Add readiness and liveliness support for git sync relay
sidecars
- kind: changed
- links:
- - name: '#50218'
- url: https://github.com/apache/airflow/pull/50218
- - description: Allow overriding ``schedulerName`` on worker/tasks pods
- kind: changed
- links:
- - name: '#53983'
- url: https://github.com/apache/airflow/pull/53983
- - description: Allow additional ``PodDisruptionBudget`` config properties
- kind: changed
- links:
- - name: '#58864'
- url: https://github.com/apache/airflow/pull/58864
- - description: Add EdgeExecutor to KEDA query
- kind: changed
- links:
- - name: '#55560'
- url: https://github.com/apache/airflow/pull/55560
- - description: Allow ``revisionHistoryLimit`` to be set to 0
- kind: changed
- links:
- - name: '#60340'
- url: https://github.com/apache/airflow/pull/60340
- - description: Allow optional ``subPath`` for logs volume mount
- kind: changed
- links:
- - name: '#52350'
- url: https://github.com/apache/airflow/pull/52350
- - description: Move triggerer from ``pod-log-reader-role`` to
``pod-launcher-role``
- kind: changed
- links:
- - name: '#56872'
- url: https://github.com/apache/airflow/pull/56872
- - description: Remove ``kedaNetworkPolicySelector`` from helpers
- kind: fixed
- links:
- - name: '#61564'
- url: https://github.com/apache/airflow/pull/61564
- - description: Use the ``bitnamilegacy/postgresql`` image
- kind: fixed
- links:
- - name: '#61156'
- url: https://github.com/apache/airflow/pull/61156
- - description: Fix Compatibility of Celery Worker Sets with Workers
Separation
- kind: fixed
- links:
- - name: '#60420'
- url: https://github.com/apache/airflow/pull/60420
- - description: Fix database cleanup cronjob ImagePullSecrets
- kind: fixed
- links:
- - name: '#58626'
- url: https://github.com/apache/airflow/pull/58626
- - description: Remove ``workers.celery`` breaking change
+ - name: '#62729'
+ url: https://github.com/apache/airflow/pull/62729
+ - description: Add *.iml to .gitignore in all distributions
kind: fixed
links:
- - name: '#61049'
- url: https://github.com/apache/airflow/pull/61049
- - description: Fix missing templating in API Server ``extraInitContainers``
+ - name: '#63636'
+ url: https://github.com/apache/airflow/pull/63636
+ - description: More restrictive chart rendering logic
kind: fixed
links:
- - name: '#60812'
- url: https://github.com/apache/airflow/pull/60812
- - description: Fix ``securityContext.containers``/``ingress.apiServer`` in
values.schema.json
+ - name: '#63464'
+ url: https://github.com/apache/airflow/pull/63464
+ - description: Omit api-server spec.replicas when HPA is enabled
kind: fixed
links:
- - name: '#60575'
- url: https://github.com/apache/airflow/pull/60575
- - description: Remove unused ``containerLifecycleHooks`` field
+ - name: '#63187'
+ url: https://github.com/apache/airflow/pull/63187
+ - description: Add workers.celery.kerberosSidecar &
workers.kubernetes.kerberosSidecar
+ sections
kind: fixed
links:
- - name: '#60239'
- url: https://github.com/apache/airflow/pull/60239
- - description: Remove unneeded logic in api-server
+ - name: '#61881'
+ url: https://github.com/apache/airflow/pull/61881
+ - description: Cleanup Helm Chart documentation
kind: fixed
links:
- - name: '#60147'
- url: https://github.com/apache/airflow/pull/60147
- - description: Remove ``defaultUser`` from API Server in values.schema.json
+ - name: '#62544'
+ url: https://github.com/apache/airflow/pull/62544
+ - description: Upgrade important CI environment
kind: fixed
links:
- - name: '#59762'
- url: https://github.com/apache/airflow/pull/59762
- - description: Isolate ``defaultUser`` handling in ``createUserJob``
+ - name: '#62792'
+ url: https://github.com/apache/airflow/pull/62792
+ - description: Fix chart NOTES.txt showing deprecation warnings only
without secret
+ key
kind: fixed
links:
- - name: '#59767'
- url: https://github.com/apache/airflow/pull/59767
- - description: Fix rendering condition of ``git_sync_ssh_key_volume``
+ - name: '#62722'
+ url: https://github.com/apache/airflow/pull/62722
+ - description: 'Fix tpl rendering for TLS hosts in ingress templates
#62358'
kind: fixed
links:
- - name: '#59418'
- url: https://github.com/apache/airflow/pull/59418
- - description: Add watch for events to the Pod launcher role
+ - name: '#62548'
+ url: https://github.com/apache/airflow/pull/62548
+ - description: Upgrade important CI environment
kind: fixed
links:
- - name: '#59080'
- url: https://github.com/apache/airflow/pull/59080
- - description: Ensure that git-sync actually runs when
``dags.gitSync.enabled=true``
- and ``dags.persistence.enabled=true``
+ - name: '#62610'
+ url: https://github.com/apache/airflow/pull/62610
+ - description: Fix all build-system/requires including transitive
dependencies
kind: fixed
links:
- - name: '#59123'
- url: https://github.com/apache/airflow/pull/59123
- - description: Don't add labels to non-existent configuration options
+ - name: '#62570'
+ url: https://github.com/apache/airflow/pull/62570
+ - description: Add ingress deprecation warnings for apiServer, statsd, and
pgbouncer
kind: fixed
links:
- - name: '#59213'
- url: https://github.com/apache/airflow/pull/59213
- - description: Add log volume to init container for scheduler, triggerer
and worker
+ - name: '#62490'
+ url: https://github.com/apache/airflow/pull/62490
+ - description: 'Add missing support for: securityContexts and
containerLifecycleHooks'
kind: fixed
links:
- - name: '#56418'
- url: https://github.com/apache/airflow/pull/56418
- - description: Correctly derive celery sync_parallelism from scheduler CPU
limits
+ - name: '#60677'
+ url: https://github.com/apache/airflow/pull/60677
+ - description: Fix webserver.defaultUser.enabled=false not honored
kind: fixed
links:
- - name: '#58733'
- url: https://github.com/apache/airflow/pull/58733
- - description: Fix ingress notes
+ - name: '#62143'
+ url: https://github.com/apache/airflow/pull/62143
+ - description: Allow to use short SPDX licence identifier for selected
files
kind: fixed
links:
- - name: '#59122'
- url: https://github.com/apache/airflow/pull/59122
- - description: Fix Liveness / Readiness / Startup probe path for Airflow
3.x
- kind: fixed
- links:
- - name: '#58734'
- url: https://github.com/apache/airflow/pull/58734
- - description: Fix flower network policy condition when multiple executors
- kind: fixed
- links:
- - name: '#58635'
- url: https://github.com/apache/airflow/pull/58635
- - description: Missing SCC Role bindings for redis and api-server
- kind: fixed
- links:
- - name: '#57985'
- url: https://github.com/apache/airflow/pull/57985
- - description: Ensure graceful Redis shutdown
- kind: fixed
- links:
- - name: '#58432'
- url: https://github.com/apache/airflow/pull/58432
- - description: Start Redis directly, not via shell
- kind: fixed
- links:
- - name: '#58790'
- url: https://github.com/apache/airflow/pull/58790
- - description: Add missing ``airflow.fullname`` on kubernetes objects
- kind: fixed
- links:
- - name: '#52953'
- url: https://github.com/apache/airflow/pull/52953
- - description: StatsD deployment volume mount without subpath for live
reloading
- kind: fixed
- links:
- - name: '#54986'
- url: https://github.com/apache/airflow/pull/54986
- - description: Fix KEDA query for Kubernetes Executor
- kind: fixed
- links:
- - name: '#55559'
- url: https://github.com/apache/airflow/pull/55559
- - description: Add API Server config in k8s pod template
- kind: fixed
- links:
- - name: '#53533'
- url: https://github.com/apache/airflow/pull/53533
- - description: Fix helm schema validation for executor value
- kind: fixed
- links:
- - name: '#54682'
- url: https://github.com/apache/airflow/pull/54682
- - description: Correct watch verb quoting in Airflow Job Launcher Role
- kind: fixed
- links:
- - name: '#53822'
- url: https://github.com/apache/airflow/pull/53822
- - description: Trim non-alphanumeric characters from the executor label
- kind: fixed
- links:
- - name: '#53534'
- url: https://github.com/apache/airflow/pull/53534
- - description: Fix KEDA Query to Use executor Field Instead of queue for
Multiple
- Executors
- kind: fixed
- links:
- - name: '#52840'
- url: https://github.com/apache/airflow/pull/52840
- - description: 'Docs: Document how to run the API server behind a reverse
proxy'
- kind: changed
- links:
- - name: '#61095'
- url: https://github.com/apache/airflow/pull/61095
- - description: 'Docs: Clarify ingress settings for Airflow 2 vs 3 in
values.yaml'
- kind: changed
- links:
- - name: '#60434'
- url: https://github.com/apache/airflow/pull/60434
- - description: 'Docs: Add database cleanup docs to Helm productions docs'
- kind: changed
- links:
- - name: '#58707'
- url: https://github.com/apache/airflow/pull/58707
- - description: 'Docs: KEDA best practices + better documentation'
- kind: changed
- links:
- - name: '#58246'
- url: https://github.com/apache/airflow/pull/58246
- - description: 'Docs: Update chart info about built-in secrets and
environment variables'
- kind: changed
- links:
- - name: '#58317'
- url: https://github.com/apache/airflow/pull/58317
- - description: 'Docs: Fix typo in PgBouncer section of the Production
Guide'
- kind: changed
- links:
- - name: '#56754'
- url: https://github.com/apache/airflow/pull/56754
- - description: 'Docs: Update webserver secret note in NOTES.txt and
Production Guide'
- kind: changed
- links:
- - name: '#55106'
- url: https://github.com/apache/airflow/pull/55106
- - description: 'Docs: Make term Dag consistent in docs v2'
- kind: changed
- links:
- - name: '#55099'
- url: https://github.com/apache/airflow/pull/55099
- - description: 'Docs: Add API Server to container resources docs'
- kind: changed
- links:
- - name: '#54698'
- url: https://github.com/apache/airflow/pull/54698
- - description: 'Docs: Fix YAML block scalar when providing SSH key for
git-sync'
- kind: changed
- links:
- - name: '#56716'
- url: https://github.com/apache/airflow/pull/56716
+ - name: '#62073'
+ url: https://github.com/apache/airflow/pull/62073
diff --git a/chart/RELEASE_NOTES.rst b/chart/RELEASE_NOTES.rst
index f49778f557f..6041cbb0f40 100644
--- a/chart/RELEASE_NOTES.rst
+++ b/chart/RELEASE_NOTES.rst
@@ -23,6 +23,140 @@ Run ``helm repo update`` before upgrading the chart to the
latest version.
.. towncrier release notes start
+Airflow Helm Chart 1.20.0 (2026-03-16)
+--------------------------------------
+
+Significant Changes
+^^^^^^^^^^^^^^^^^^^
+
+Support for old versions of Apache Airflow <2.11 has been dropped (#61018)
+""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+Minimum supported version of Apache Airflow is now 2.11.0. If you want to
deploy an
+old version of Apache Airflow, please use the last released version of the
chart 1.19.0.
+
+``workers`` specific sections have been moved to ``workers.celery`` /
``workers.kubernetes`` sections
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+Please update your configuration accordingly:
+* ``workers.command`` command is now deprecated in favor of
``workers.celery.command``/``workers.kubernetes.command`` (#60067).
+* ``workers.securityContexts`` command is now deprecated in favor of
``workers.celery.securityContexts``/``workers.kubernetes.securityContexts``
(#60396).
+* ``workers.containerLifecycleHooks`` command is now deprecated in favor of
``workers.celery.containerLifecycleHooks``/``workers.kubernetes.containerLifecycleHooks``
(#61369).
+* ``workers.kerberosSidecar`` section is now deprecated in favor of
``workers.celery.kerberosSidecar``/``workers.kubernetes.kerberosSidecar``
(#61881).
+* ``workers.kerberosInitContainer`` section is now deprecated in favor of
``workers.celery.kerberosInitContainer``/``workers.kubernetes.kerberosInitContainer``
(#60751).
+* ``workers.terminationGracePeriodSeconds`` command is now deprecated in favor
of
``workers.celery.terminationGracePeriodSeconds``/``workers.kubernetes.terminationGracePeriodSeconds``
(#61892).
+* ``workers.nodeSelector`` command is now deprecated in favor of
``workers.celery.nodeSelector``/``workers.kubernetes.nodeSelector`` (#61957).
+* ``workers.podDisruptionBudget`` section is now deprecated in favor of
``workers.celery.podDisruptionBudget``. Please update your configuration
accordingly. (#61414)
+* ``workers.keda`` section is now deprecated in favor of
``workers.celery.keda``. Please update your configuration accordingly. (#61820)
+* ``workers.resources`` section is now deprecated in favor of
``workers.celery.resources`` and ``workers.kubernetes.resources``. Please
update your configuration accordingly. (#61890)
+
+The previous configuration options are still working, but are deprecated and
will be removed in a future version.
+
+
+As Git-Sync is not service-type object, the readiness probe will be removed.
(#62334)
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+To enable feature behaviour set ``dags.gitSync.recommendedProbeSetting`` to
``true``. Section itself will be removed in future release as to not break
setups during upgrades.
+
+As Git-Sync has dedicated liveness service, the liveness probe behaviour will
be changed. To enable feature behaviour set
``dags.gitSync.recommendedProbeSetting`` to ``true``.
+
+Please update your configuration accordingly.
+
+
+Automatic env variables removed from ``container_extra_envs`` and
``custom_airflow_environment`` (#60750)
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+The automatic prefix addition for Kubernetes Executor environment variables
and secrets has been removed from both the ``container_extra_envs`` and
``custom_airflow_environment`` helper functions.
+
+**What changed:**
+
+Previously, when you added environment variables to component-specific
configurations (e.g., ``.Values.scheduler.env``), the chart automatically
created an additional environment variable (to specified in the ``env``
section) with the ``AIRFLOW__KUBERNETES_ENVIRONMENT_VARIABLES__`` prefix for
Kubernetes Executor worker pods. After this change, only the variable specified
in ``env`` section will be created.
+Furthermore, for values specified under ``.Values.secret`` section, the
``AIRFLOW__KUBERNETES_SECRETS__`` prefix is no longer automatically added.
Secrets are now passed as-is via ``secretKeyRef`` without the prefixed copy for
worker pods.
+
+**Why this change:**
+
+* Prevent unintended exposure of sensitive data like ``client_secret``
information. Previously, due to prefix, it was recognized as internal Airflow
configuration leading to unintended exposure in Airflow UI (under Admin ->
Configuration), even when ``AIRFLOW__API__EXPOSE_CONFIG`` is set to
``non-sensitive-only``.
+* Avoid unintended environment propagation to workers: component-specific env
configurations are intended strictly for specific components. Previous
behaviour caused these variables to be passed to worker pods, which could
result in configuration conflicts and unexpected side effects.
+
+**Migration Required:**
+
+If you need to pass environment variables specifically to Kubernetes Executor
worker pods, use one of the following approaches:
+
+**Option 1: Use ``.Values.env``**
+
+.. code-block:: yaml
+
+ env:
+ - name: my_var
+ value: "my_value"
+
+Environment variables specified under ``.Values.env`` are now passed as-is
without the automatic prefix (same behaviour as component-specific env).
+
+**Option 2: Use ``.Values.config.kubernetes_environment_variables``**
+
+.. code-block:: yaml
+
+ config:
+ kubernetes_environment_variables:
+ my_var: "my_value"
+
+
+Default Airflow image is updated to ``3.1.8`` (#63392)
+""""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+The default Airflow image that is used with the Chart is now ``3.1.8``,
previously it was ``3.1.7``.
+
+
+Features
+^^^^^^^^
+
+- Support Helm template expressions in ``podAnnotations`` and
``airflowPodAnnotations`` values (#63019)
+- Add minute-level log retention to clean-logs script (#61855)
+- Add LOG_MAX_SIZE environment variables to log groomer (#61559)
+
+Improvements
+^^^^^^^^^^^^
+
+- Remove automatic ``KUBERNETES_ENVIRONMENT_VARIABLES`` and
``KUBERNETES_SECRETS`` prefixes from chart helpers (#60750)
+- Remove JWT secrets from triggerer, worker and dag-processor (#63204)
+- Add ``workers.celery.nodeSelector`` & ``workers.kubernetes.nodeSelector``
(#61957)
+- Add ``workers.celery.terminationGracePeriodSeconds`` &
``workers.kubernetes.terminationGracePeriodSeconds`` (#61892)
+- Add ``workers.celery.resources`` & ``workers.kubernetes.resources`` (#61890)
+- Add ``workers.celery.keda`` section (#61820)
+- Add ``workers.celery.podDisruptionBudget`` (#61414)
+- Add ``workers.celery.containerLifecycleHooks`` &
``workers.kubernetes.containerLifecycleHooks`` (#61369)
+- Refactor Git-Sync ``livenessProbe`` & deprecate ``readinessProbe`` & add
``startupProbe`` (#62334)
+- Warn on deprecated per-component ``securityContext`` values (#62729)
+- Add ingress deprecation warnings for ``apiServer``, ``statsd``, and
``pgbouncer`` (#62490)
+- Add missing support for: ``securityContexts`` and ``containerLifecycleHook``
(#60677)
+
+Bug Fixes
+^^^^^^^^^
+
+- More restrictive chart rendering logic (#63464)
+- Omit api-server ``spec.replicas`` when HPA is enabled (#63187)
+- Add ``workers.celery.kerberosSidecar`` &
``workers.kubernetes.kerberosSidecar`` sections (#61881)
+- Fix chart NOTES.txt showing deprecation warnings only without secret key
(#62722)
+- Fix ``tpl`` rendering for TLS hosts in ingress templates #62358 (#62548)
+- Fix ``webserver.defaultUser.enabled=false`` not honored (#62143)
+
+Doc only changes
+^^^^^^^^^^^^^^^^
+
+- Cleanup Helm Chart documentation (#62544)
+- Add missing deprecation warnings for workers section (#63659)
+
+Misc
+^^^^
+
+- Drop support for all Airflow versions below 2.11 in Helm Chart (#61018)
+- Default airflow version to 3.1.8 (#63392)
+- Add ``*.iml`` to .gitignore in all distributions (#63636)
+- Upgrade important CI environment (#62792, #62610)
+- Allow to use short SPDX license identifier for selected files (#62073)
+- Fix all build-system/requires including transitive dependencies (#62570)
+
+
Airflow Helm Chart 1.19.0 (2026-02-17)
--------------------------------------
diff --git a/chart/newsfragments/60750.significant.rst
b/chart/newsfragments/60750.significant.rst
deleted file mode 100644
index 049058d1316..00000000000
--- a/chart/newsfragments/60750.significant.rst
+++ /dev/null
@@ -1,57 +0,0 @@
-Automatic ``AIRFLOW__KUBERNETES_ENVIRONMENT_VARIABLES__`` and
``AIRFLOW__KUBERNETES_SECRETS__`` prefix addition removed from
``container_extra_envs`` and ``custom_airflow_environment``
-
-The automatic prefix addition for Kubernetes Executor environment variables
and secrets has been removed from both the ``container_extra_envs`` and
``custom_airflow_environment`` helper functions.
-
-**What changed:**
-
-Previously, when you added environment variables to component-specific
configurations (e.g., ``.Values.scheduler.env``, ``.Values.workers.env``,
``.Values.apiServer.env``, ``.Values.dagProcessor.env``), the chart
automatically created an additional environment variable with the
``AIRFLOW__KUBERNETES_ENVIRONMENT_VARIABLES__`` prefix for Kubernetes Executor
worker pods.
-
-**Example - Before:**
-.. code-block:: yaml
-
- apiServer:
- env:
- - name: MY_VAR
- value: "my_value"
-
-This would automatically create both:
-* ``MY_VAR=my_value`` (for the apiServer)
-* ``AIRFLOW__KUBERNETES_ENVIRONMENT_VARIABLES__MY_VAR=my_value`` (for worker
pods)
-
-**Example - After:**
-.. code-block:: yaml
-
- apiServer:
- env:
- - name: MY_VAR
- value: "my_value"
-
-Now only ``MY_VAR=my_value`` is created for the apiServer. The
``AIRFLOW__KUBERNETES_ENVIRONMENT_VARIABLES__MY_VAR`` is **no longer
automatically created**.
-
-**Why this change:**
-
-* **Prevent Unintended Exposure of Sensitive Data**: Sensitive information
(e.g., ``client_secret``) that should be securely handled via ``secretKeyRef``
for specific components was being automatically prefixed with
``AIRFLOW__KUBERNETES_ENVIRONMENT_VARIABLES__``. This prefixing causes these
variables to be recognized as part of Airflow's internal configuration, leading
to their unintended exposure in the Airflow Web UI (under Admin ->
Configuration), even when ``AIRFLOW__API__EXPOSE_CON [...]
-
-* **Avoid Unintended Environment Propagation to Workers**: Component-specific
env configurations are intended strictly for specific components. However, the
previous behavior caused these variables to be inadvertently passed to worker
pods, which may result in unintended configuration conflicts and unexpected
side effects.
-
-**Migration Required:**
-
-If you need to pass environment variables specifically to Kubernetes Executor
worker pods, use one of the following approaches:
-
-**Option 1: Use ``.Values.env``**
-.. code-block:: yaml
-
- env:
- - name: my_var
- value: "my_value"
-
-Environment variables in ``.Values.env`` are now passed as-is without the
automatic prefix (same behavior as component-specific env).
-
-**Option 2: Use ``.Values.config.kubernetes_environment_variables``**
-.. code-block:: yaml
-
- config:
- kubernetes_environment_variables:
- my_var: "my_value"
-
-**Secrets (``.Values.secret``):** The ``AIRFLOW__KUBERNETES_SECRETS__`` prefix
is no longer automatically added. Secrets are now passed as-is via
``secretKeyRef`` without the prefixed copy for worker pods.
diff --git a/chart/newsfragments/61018.significant.rst
b/chart/newsfragments/61018.significant.rst
deleted file mode 100644
index 5d22d34f8da..00000000000
--- a/chart/newsfragments/61018.significant.rst
+++ /dev/null
@@ -1,4 +0,0 @@
-Support for old versions of Apache Airflow <2.11 has been dropped.
-
-Minimum supported version of Apache Airflow is now 2.11.0. If you want to
deploy an
-old version of Apache Airflow, please use the last released version of the
chart 1.19.0.
diff --git a/chart/newsfragments/61414.significant.rst
b/chart/newsfragments/61414.significant.rst
deleted file mode 100644
index 137fb8e0daa..00000000000
--- a/chart/newsfragments/61414.significant.rst
+++ /dev/null
@@ -1 +0,0 @@
-``workers.podDisruptionBudget`` section is now deprecated in favor of
``workers.celery.podDisruptionBudget``. Please update your configuration
accordingly.
diff --git a/chart/newsfragments/61820.significant.rst
b/chart/newsfragments/61820.significant.rst
deleted file mode 100644
index b6e72e39a2f..00000000000
--- a/chart/newsfragments/61820.significant.rst
+++ /dev/null
@@ -1 +0,0 @@
-``workers.keda`` section is now deprecated in favor of
``workers.celery.keda``. Please update your configuration accordingly.
diff --git a/chart/newsfragments/61890.significant.rst
b/chart/newsfragments/61890.significant.rst
deleted file mode 100644
index e8208570c2a..00000000000
--- a/chart/newsfragments/61890.significant.rst
+++ /dev/null
@@ -1 +0,0 @@
-``workers.resources`` section is now deprecated in favor of
``workers.celery.resources`` and ``workers.kubernetes.resources``. Please
update your configuration accordingly.
diff --git a/chart/newsfragments/62334.significant.rst
b/chart/newsfragments/62334.significant.rst
deleted file mode 100644
index 924e77869e4..00000000000
--- a/chart/newsfragments/62334.significant.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-As Git-Sync is not service-type object, the readiness probe will be removed.
To enable feature behaviour set ``dags.gitSync.recommendedProbeSetting`` to
``true``. Section itself will be removed in future release as to not break
setups during upgrades.
-
-As Git-Sync has dedicated liveness service, the liveness probe behaviour will
be changed. To enable feature behaviour set
``dags.gitSync.recommendedProbeSetting`` to ``true``.
-
-Please update your configuration accordingly.
diff --git a/chart/newsfragments/63019.feature.rst
b/chart/newsfragments/63019.feature.rst
deleted file mode 100644
index f91881be4bf..00000000000
--- a/chart/newsfragments/63019.feature.rst
+++ /dev/null
@@ -1 +0,0 @@
-Support Helm template expressions in ``podAnnotations`` and
``airflowPodAnnotations`` values.
diff --git a/chart/newsfragments/63392.significant.rst
b/chart/newsfragments/63392.significant.rst
deleted file mode 100644
index 51692b1568d..00000000000
--- a/chart/newsfragments/63392.significant.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Default Airflow image is updated to ``3.1.8``
-
-The default Airflow image that is used with the Chart is now ``3.1.8``,
previously it was ``3.1.7``.
diff --git a/chart/newsfragments/63659.significant.rst
b/chart/newsfragments/63659.significant.rst
deleted file mode 100644
index 21e6a48800a..00000000000
--- a/chart/newsfragments/63659.significant.rst
+++ /dev/null
@@ -1,12 +0,0 @@
-``workers`` specific sections have been moved to
``workers.celery``/``workers.kubernetes`` sections.
-
-Please update your configuration accordingly:
-* ``workers.command`` command is now deprecated in favor of
``workers.celery.command``/``workers.kubernetes.command`` (#60067).
-* ``workers.securityContexts`` command is now deprecated in favor of
``workers.celery.securityContexts``/``workers.kubernetes.securityContexts``
(#60396).
-* ``workers.containerLifecycleHooks`` command is now deprecated in favor of
``workers.celery.containerLifecycleHooks``/``workers.kubernetes.containerLifecycleHooks``
(#61369).
-* ``workers.kerberosSidecar`` section is now deprecated in favor of
``workers.celery.kerberosSidecar``/``workers.kubernetes.kerberosSidecar``
(#61881).
-* ``workers.kerberosInitContainer`` section is now deprecated in favor of
``workers.celery.kerberosInitContainer``/``workers.kubernetes.kerberosInitContainer``
(#60751).
-* ``workers.terminationGracePeriodSeconds`` command is now deprecated in favor
of
``workers.celery.terminationGracePeriodSeconds``/``workers.kubernetes.terminationGracePeriodSeconds``
(#61892).
-* ``workers.nodeSelector`` command is now deprecated in favor of
``workers.celery.nodeSelector``/``workers.kubernetes.nodeSelector`` (#61957).
-
-The previous configuration options are still working, but are deprecated and
will be removed in a future version.
diff --git a/chart/reproducible_build.yaml b/chart/reproducible_build.yaml
index 089adfdf26c..fab1f365bfe 100644
--- a/chart/reproducible_build.yaml
+++ b/chart/reproducible_build.yaml
@@ -1,2 +1,2 @@
-release-notes-hash: 0a0b32fd2bcfd2fd51cdfa85db083041
-source-date-epoch: 1770998156
+release-notes-hash: 41dcde08056798f5ba44b7e8cfb31167
+source-date-epoch: 1773784532
diff --git a/dev/README_RELEASE_HELM_CHART.md b/dev/README_RELEASE_HELM_CHART.md
index 5b1fb39038b..544bdd82df3 100644
--- a/dev/README_RELEASE_HELM_CHART.md
+++ b/dev/README_RELEASE_HELM_CHART.md
@@ -158,7 +158,8 @@ Once the release notes have been built, run the script to
generate the changelog
./dev/chart/build_changelog_annotations.py
```
-Verify the output looks right (only entries from this release), then put them
in `Chart.yaml`, for example:
+Verify the output looks right (only entries from this release), then put them
below `artifacthub.io/changes` in `Chart.yaml`,
+replace previous change logs if a new release, append if another RC. Should
look like for example:
```yaml
annotations: