diff --git a/changelog/2026-08-26-browser-extension-1-0.mdx b/changelog/2026-08-26-browser-extension-1-0.mdx
index 2ebe9c09..43ee2dea 100644
--- a/changelog/2026-08-26-browser-extension-1-0.mdx
+++ b/changelog/2026-08-26-browser-extension-1-0.mdx
@@ -1,8 +1,8 @@
---
-title: "Browser Extension 1.0.0 : Out of beta"
+title: "Browser Extension 1.0.0: Out of beta"
description: "The Trunk browser extension graduates from beta with more reliable queue controls, clearer failure details, and groundwork for expanding Merge Queue beyond GitHub."
slug: "browser-extension-1-0"
-date: "2026-08-26T00:00:00.000Z"
+date: 2026-08-26
category: "Merge Queue"
type: "update"
---
diff --git a/changelog/2026-08-27-dynamic-ci-private-beta.mdx b/changelog/2026-08-27-dynamic-ci-private-beta.mdx
new file mode 100644
index 00000000..4b94db9a
--- /dev/null
+++ b/changelog/2026-08-27-dynamic-ci-private-beta.mdx
@@ -0,0 +1,20 @@
+---
+title: "Dynamic CI: Private beta"
+description: "Dynamic CI is now in private beta — skip the CI jobs your diff doesn't need, using your own repository's history instead of hand-written path globs."
+slug: dynamic-ci-private-beta
+date: 2026-08-27
+category: Dynamic CI
+type: new-feature
+---
+
+**Dynamic CI is now in private beta.**
+
+Most CI runs are wasted: a docs-only change doesn't need the integration suite. Path filters help, but hand-written globs are coarse and go stale. Dynamic CI decides which jobs to run from evidence instead, using your repository's own history of which file changes have broken which jobs.
+
+- **Near drop-in for path filters.** The [`trunk-io/dynamic-ci-filter`](https://github.com/trunk-io/dynamic-ci-filter) GitHub Action emits a per-job verdict you gate on, much like `dorny/paths-filter`.
+- **Auditable verdicts.** Every signal behind a skip-or-run decision is printed in the job logs and job summary.
+- **Fails open.** If the service is unreachable or a job has no verdict, the job runs. A degraded response never silently skips your tests.
+- **Merge queue safe.** Jobs on Trunk Merge Queue branches are never skipped, so the queue always validates the exact commit about to land.
+- **Your data only.** Recommendations are derived solely from your organization's CI history. Nothing is pooled across customers.
+
+Beta participants can find setup instructions in the [Dynamic CI docs](/dynamic-ci). Want in? Reach out on [Slack](https://slack.trunk.io).
diff --git a/changelog/index.mdx b/changelog/index.mdx
index cc256507..229a5e3b 100644
--- a/changelog/index.mdx
+++ b/changelog/index.mdx
@@ -8,8 +8,14 @@ rss: true
### August 2026
+
+ **[Dynamic CI: Private beta](/changelog/2026-08-27-dynamic-ci-private-beta)**
+
+ Dynamic CI is now in private beta — skip the CI jobs your diff doesn't need, using your own repository's history instead of hand-written path globs.
+
+
- **[Browser Extension 1.0: Out of beta](/changelog/2026-08-26-browser-extension-1-0)**
+ **[Browser Extension 1.0.0: Out of beta](/changelog/2026-08-26-browser-extension-1-0)**
The Trunk browser extension graduates from beta with more reliable queue controls, clearer failure details, and groundwork for expanding Merge Queue beyond GitHub.
diff --git a/docs.json b/docs.json
index 941e49ef..629223e7 100644
--- a/docs.json
+++ b/docs.json
@@ -636,6 +636,7 @@
{
"group": "August",
"pages": [
+ "changelog/2026-08-27-dynamic-ci-private-beta",
"changelog/2026-08-26-browser-extension-1-0",
"changelog/2026-08-11-flaky-tests-asana-ticketing"
]
diff --git a/merge-queue/changelog.mdx b/merge-queue/changelog.mdx
index dd3a09b2..1e98066c 100644
--- a/merge-queue/changelog.mdx
+++ b/merge-queue/changelog.mdx
@@ -10,7 +10,7 @@ og:title: "Trunk Merge Queue changelog"
### August 2026
- **[Browser Extension 1.0: Out of beta](/changelog/2026-08-26-browser-extension-1-0)**
+ **[Browser Extension 1.0.0: Out of beta](/changelog/2026-08-26-browser-extension-1-0)**
The Trunk browser extension graduates from beta with more reliable queue controls, clearer failure details, and groundwork for expanding Merge Queue beyond GitHub.