diff --git a/.changeset/bound-clickhouse-log-growth.md b/.changeset/bound-clickhouse-log-growth.md
deleted file mode 100644
index 9102deaa..00000000
--- a/.changeset/bound-clickhouse-log-growth.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-"helm-charts": minor
----
-
-fix(clickstack): bound ClickHouse server log and system log table growth on the data volume
-
-The ClickHouse operator defaults to `logger.level: trace` with 50 x 1000M rotated log files, and enables `query_log`, `part_log`, `text_log`, `metric_log` and `asynchronous_metric_log` without a TTL. Both are written to the ClickHouse data volume, so the chart's 10Gi default fills up within days of light use, after which the OTel collector drops every batch. The chart now sets `clickhouse.cluster.spec.settings.logger` to `information` / `100M` / 10 files and adds a 7 day TTL to those five system tables via `extraConfig`. Override either block in your values to keep more history.
-
-On upgrade, ClickHouse recreates each system table whose TTL changed and keeps the old rows in `system.
_0`; drop those once you no longer need them.
diff --git a/.changeset/bump-js-yaml-v5.md b/.changeset/bump-js-yaml-v5.md
deleted file mode 100644
index 42a76c9f..00000000
--- a/.changeset/bump-js-yaml-v5.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"helm-charts": patch
----
-
-Bump `js-yaml` from ^4.2.0 to ^5.4.1 for the release tooling (`update-chart-versions.js`, `extract-release-notes.js`). No chart changes. Both scripts continue to work via the v5 CJS build; a new `version-script-smoke` CI job now exercises them at PR time so future dependency bumps cannot break releases silently. Also restores consistency between `package.json` and `yarn.lock`, which had drifted on main.
diff --git a/.changeset/dashboard-provisioning.md b/.changeset/dashboard-provisioning.md
deleted file mode 100644
index 0a5c1bd4..00000000
--- a/.changeset/dashboard-provisioning.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"helm-charts": minor
----
-
-feat: add dashboard provisioning via a k8s-sidecar that discovers ConfigMaps labeled `hyperdx.io/dashboard: "true"`. Discovery is scoped to the release namespace by default (a namespaced Role, no cluster-wide access); set `hyperdx.dashboards.namespaces` to also watch specific namespaces, or `hyperdx.dashboards.namespaces: [ALL]` for cluster-wide discovery. Requires hyperdxio/hyperdx#1962 (file-based dashboard provisioner).
diff --git a/.changeset/sca-js-yaml-tmp-advisories.md b/.changeset/sca-js-yaml-tmp-advisories.md
deleted file mode 100644
index 36db2524..00000000
--- a/.changeset/sca-js-yaml-tmp-advisories.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-"helm-charts": patch
----
-
-Clear all 7 dependency advisories in the release tooling. No chart changes.
-
-`js-yaml` 3.14.1 → 3.15.2: a second copy pulled in transitively via
-`@changesets/cli` → `read` → `parse`, carrying 3 highs and 2 moderates
-(quadratic CPU in merge-key/`!!omap` handling, prototype pollution in `<<`).
-The direct `js-yaml@^5.4.1` dependency was already fine; this is the older copy
-the range already allowed to move.
-
-`tmp` 0.0.33 → 0.2.7 via a `resolutions` override, clearing a high path
-traversal (`<0.2.6`) and a low symlink issue. `external-editor` declares
-`tmp@^0.0.33`, and a caret on a `0.0.x` version is semver-equivalent to
-`=0.0.33`, so this cannot be re-resolved without the override. It calls only
-`tmp.tmpNameSync()`, which 0.2.x still exports.
-
-Both are reachable only through the release/changeset tooling, never at chart
-render time.
diff --git a/.changeset/update-app-version-2.38.0.md b/.changeset/update-app-version-2.38.0.md
deleted file mode 100644
index 8bca6ad1..00000000
--- a/.changeset/update-app-version-2.38.0.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"helm-charts": patch
----
-
-chore: update appVersion to 2.38.0
diff --git a/.changeset/update-app-version-2.39.1.md b/.changeset/update-app-version-2.39.1.md
deleted file mode 100644
index 671b724d..00000000
--- a/.changeset/update-app-version-2.39.1.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"helm-charts": patch
----
-
-chore: update appVersion to 2.39.1
diff --git a/.changeset/whole-aliens-argue.md b/.changeset/whole-aliens-argue.md
deleted file mode 100644
index 663e864d..00000000
--- a/.changeset/whole-aliens-argue.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-"helm-charts": patch
----
-
-feat: allow setting podLabels on hyperdx Pods
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7286d1a4..7b7760ce 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,41 @@
# helm-charts
+## 3.4.0
+
+### Minor Changes
+
+- b39c38a: fix(clickstack): bound ClickHouse server log and system log table growth on the data volume
+
+ The ClickHouse operator defaults to `logger.level: trace` with 50 x 1000M rotated log files, and enables `query_log`, `part_log`, `text_log`, `metric_log` and `asynchronous_metric_log` without a TTL. Both are written to the ClickHouse data volume, so the chart's 10Gi default fills up within days of light use, after which the OTel collector drops every batch. The chart now sets `clickhouse.cluster.spec.settings.logger` to `information` / `100M` / 10 files and adds a 7 day TTL to those five system tables via `extraConfig`. Override either block in your values to keep more history.
+
+ On upgrade, ClickHouse recreates each system table whose TTL changed and keeps the old rows in `system._0`; drop those once you no longer need them.
+
+- 1592f4f: feat: add dashboard provisioning via a k8s-sidecar that discovers ConfigMaps labeled `hyperdx.io/dashboard: "true"`. Discovery is scoped to the release namespace by default (a namespaced Role, no cluster-wide access); set `hyperdx.dashboards.namespaces` to also watch specific namespaces, or `hyperdx.dashboards.namespaces: [ALL]` for cluster-wide discovery. Requires hyperdxio/hyperdx#1962 (file-based dashboard provisioner).
+
+### Patch Changes
+
+- 8899b96: Bump `js-yaml` from ^4.2.0 to ^5.4.1 for the release tooling (`update-chart-versions.js`, `extract-release-notes.js`). No chart changes. Both scripts continue to work via the v5 CJS build; a new `version-script-smoke` CI job now exercises them at PR time so future dependency bumps cannot break releases silently. Also restores consistency between `package.json` and `yarn.lock`, which had drifted on main.
+- f84b6bd: Clear all 7 dependency advisories in the release tooling. No chart changes.
+
+ `js-yaml` 3.14.1 → 3.15.2: a second copy pulled in transitively via
+ `@changesets/cli` → `read` → `parse`, carrying 3 highs and 2 moderates
+ (quadratic CPU in merge-key/`!!omap` handling, prototype pollution in `<<`).
+ The direct `js-yaml@^5.4.1` dependency was already fine; this is the older copy
+ the range already allowed to move.
+
+ `tmp` 0.0.33 → 0.2.7 via a `resolutions` override, clearing a high path
+ traversal (`<0.2.6`) and a low symlink issue. `external-editor` declares
+ `tmp@^0.0.33`, and a caret on a `0.0.x` version is semver-equivalent to
+ `=0.0.33`, so this cannot be re-resolved without the override. It calls only
+ `tmp.tmpNameSync()`, which 0.2.x still exports.
+
+ Both are reachable only through the release/changeset tooling, never at chart
+ render time.
+
+- 573b600: chore: update appVersion to 2.38.0
+- bcf87e8: chore: update appVersion to 2.39.1
+- 5210ba5: feat: allow setting podLabels on hyperdx Pods
+
## 3.3.0
### Minor Changes
diff --git a/charts/clickstack/Chart.yaml b/charts/clickstack/Chart.yaml
index ecb7c70c..53d97012 100644
--- a/charts/clickstack/Chart.yaml
+++ b/charts/clickstack/Chart.yaml
@@ -15,7 +15,7 @@ annotations:
- name: Upstream Project
url: https://github.com/hyperdxio/hyperdx
type: application
-version: 3.3.0
+version: 3.4.0
appVersion: 2.39.1
dependencies:
- name: opentelemetry-collector
diff --git a/package.json b/package.json
index 98fad531..d2405c74 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "helm-charts",
- "version": "3.3.0",
+ "version": "3.4.0",
"private": true,
"main": "index.js",
"repository": "git@github.com:hyperdxio/helm-charts.git",