diff --git a/.mintignore b/.mintignore index e980844..10f29d0 100644 --- a/.mintignore +++ b/.mintignore @@ -9,6 +9,7 @@ drafts/ *.draft.mdx _deprecated/ +# changelog/ # temporarily disabled to preview auto-generated changelog under "Changelog mint" tab # Inactive products (kept in source for future use, hidden from build) diff --git a/assets/changelog/.gitkeep b/assets/changelog/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/assets/changelog/first-class-support-for-trunk-merge-queue-nx-seo.jpg b/assets/changelog/first-class-support-for-trunk-merge-queue-nx-seo.jpg new file mode 100644 index 0000000..87cb9d9 Binary files /dev/null and b/assets/changelog/first-class-support-for-trunk-merge-queue-nx-seo.jpg differ diff --git a/assets/changelog/flaky-tests-auto-quarantine-no-longer-applied-to-broken-tests-g9qcpy.png b/assets/changelog/flaky-tests-auto-quarantine-no-longer-applied-to-broken-tests-g9qcpy.png new file mode 100644 index 0000000..f71324f Binary files /dev/null and b/assets/changelog/flaky-tests-auto-quarantine-no-longer-applied-to-broken-tests-g9qcpy.png differ diff --git a/assets/changelog/flaky-tests-automatically-create-jira-issues-from-webhooks-1rzy9x.png b/assets/changelog/flaky-tests-automatically-create-jira-issues-from-webhooks-1rzy9x.png new file mode 100644 index 0000000..e1c5959 Binary files /dev/null and b/assets/changelog/flaky-tests-automatically-create-jira-issues-from-webhooks-1rzy9x.png differ diff --git a/assets/changelog/flaky-tests-codeowners-support-75ak4f.png b/assets/changelog/flaky-tests-codeowners-support-75ak4f.png new file mode 100644 index 0000000..f938ee9 Binary files /dev/null and b/assets/changelog/flaky-tests-codeowners-support-75ak4f.png differ diff --git a/assets/changelog/flaky-tests-codeowners-support-iwxj98.png b/assets/changelog/flaky-tests-codeowners-support-iwxj98.png new file mode 100644 index 0000000..dac1a49 Binary files /dev/null and b/assets/changelog/flaky-tests-codeowners-support-iwxj98.png differ diff --git a/assets/changelog/flaky-tests-commit-details-in-timeline-6l0s2r.png b/assets/changelog/flaky-tests-commit-details-in-timeline-6l0s2r.png new file mode 100644 index 0000000..ee37a79 Binary files /dev/null and b/assets/changelog/flaky-tests-commit-details-in-timeline-6l0s2r.png differ diff --git a/assets/changelog/flaky-tests-dashboard-improvements-5eig4d.png b/assets/changelog/flaky-tests-dashboard-improvements-5eig4d.png new file mode 100644 index 0000000..55c916f Binary files /dev/null and b/assets/changelog/flaky-tests-dashboard-improvements-5eig4d.png differ diff --git a/assets/changelog/flaky-tests-dashboard-improvements-nghz59.png b/assets/changelog/flaky-tests-dashboard-improvements-nghz59.png new file mode 100644 index 0000000..5e07963 Binary files /dev/null and b/assets/changelog/flaky-tests-dashboard-improvements-nghz59.png differ diff --git a/assets/changelog/flaky-tests-dashboard-improvements-vi5uvd.png b/assets/changelog/flaky-tests-dashboard-improvements-vi5uvd.png new file mode 100644 index 0000000..74bcc63 Binary files /dev/null and b/assets/changelog/flaky-tests-dashboard-improvements-vi5uvd.png differ diff --git a/assets/changelog/flaky-tests-data-uploads-view-sch3iv.png b/assets/changelog/flaky-tests-data-uploads-view-sch3iv.png new file mode 100644 index 0000000..401e603 Binary files /dev/null and b/assets/changelog/flaky-tests-data-uploads-view-sch3iv.png differ diff --git a/assets/changelog/flaky-tests-data-uploads-view-seo.png b/assets/changelog/flaky-tests-data-uploads-view-seo.png new file mode 100644 index 0000000..d93ea4b Binary files /dev/null and b/assets/changelog/flaky-tests-data-uploads-view-seo.png differ diff --git a/assets/changelog/flaky-tests-infrastructure-failure-protection-yql4qd.png b/assets/changelog/flaky-tests-infrastructure-failure-protection-yql4qd.png new file mode 100644 index 0000000..14568f0 Binary files /dev/null and b/assets/changelog/flaky-tests-infrastructure-failure-protection-yql4qd.png differ diff --git a/assets/changelog/flaky-tests-jira-integration-seo.svg b/assets/changelog/flaky-tests-jira-integration-seo.svg new file mode 100644 index 0000000..72b4db7 --- /dev/null +++ b/assets/changelog/flaky-tests-jira-integration-seo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/changelog/flaky-tests-manual-test-status-overrides-pq5e3b.png b/assets/changelog/flaky-tests-manual-test-status-overrides-pq5e3b.png new file mode 100644 index 0000000..b200b91 Binary files /dev/null and b/assets/changelog/flaky-tests-manual-test-status-overrides-pq5e3b.png differ diff --git a/assets/changelog/flaky-tests-manual-test-status-overrides-q4yjf.png b/assets/changelog/flaky-tests-manual-test-status-overrides-q4yjf.png new file mode 100644 index 0000000..75a4b44 Binary files /dev/null and b/assets/changelog/flaky-tests-manual-test-status-overrides-q4yjf.png differ diff --git a/assets/changelog/flaky-tests-new-onboarding-flow-6mu5yt.png b/assets/changelog/flaky-tests-new-onboarding-flow-6mu5yt.png new file mode 100644 index 0000000..5ddf68c Binary files /dev/null and b/assets/changelog/flaky-tests-new-onboarding-flow-6mu5yt.png differ diff --git a/assets/changelog/flaky-tests-new-onboarding-flow-7pnib7.png b/assets/changelog/flaky-tests-new-onboarding-flow-7pnib7.png new file mode 100644 index 0000000..5513080 Binary files /dev/null and b/assets/changelog/flaky-tests-new-onboarding-flow-7pnib7.png differ diff --git a/assets/changelog/flaky-tests-new-onboarding-flow-pglr0t.png b/assets/changelog/flaky-tests-new-onboarding-flow-pglr0t.png new file mode 100644 index 0000000..e49a746 Binary files /dev/null and b/assets/changelog/flaky-tests-new-onboarding-flow-pglr0t.png differ diff --git a/assets/changelog/flaky-tests-new-onboarding-flow-seo.png b/assets/changelog/flaky-tests-new-onboarding-flow-seo.png new file mode 100644 index 0000000..e49a746 Binary files /dev/null and b/assets/changelog/flaky-tests-new-onboarding-flow-seo.png differ diff --git a/assets/changelog/flaky-tests-pr-test-summaries-izxf8v.png b/assets/changelog/flaky-tests-pr-test-summaries-izxf8v.png new file mode 100644 index 0000000..2928585 Binary files /dev/null and b/assets/changelog/flaky-tests-pr-test-summaries-izxf8v.png differ diff --git a/assets/changelog/flaky-tests-pr-test-summaries-l4f3u.png b/assets/changelog/flaky-tests-pr-test-summaries-l4f3u.png new file mode 100644 index 0000000..cb112cb Binary files /dev/null and b/assets/changelog/flaky-tests-pr-test-summaries-l4f3u.png differ diff --git a/assets/changelog/flaky-tests-pr-test-summaries-qt7l0r.png b/assets/changelog/flaky-tests-pr-test-summaries-qt7l0r.png new file mode 100644 index 0000000..b75e736 Binary files /dev/null and b/assets/changelog/flaky-tests-pr-test-summaries-qt7l0r.png differ diff --git a/assets/changelog/flaky-tests-quarantining-c4iv0t.png b/assets/changelog/flaky-tests-quarantining-c4iv0t.png new file mode 100644 index 0000000..6a0c815 Binary files /dev/null and b/assets/changelog/flaky-tests-quarantining-c4iv0t.png differ diff --git a/assets/changelog/flaky-tests-quarantining-h4x866.png b/assets/changelog/flaky-tests-quarantining-h4x866.png new file mode 100644 index 0000000..141bb18 Binary files /dev/null and b/assets/changelog/flaky-tests-quarantining-h4x866.png differ diff --git a/assets/changelog/flaky-tests-quarantining-ibg5zb.png b/assets/changelog/flaky-tests-quarantining-ibg5zb.png new file mode 100644 index 0000000..576874c Binary files /dev/null and b/assets/changelog/flaky-tests-quarantining-ibg5zb.png differ diff --git a/assets/changelog/flaky-tests-quarantining-xnesjq.png b/assets/changelog/flaky-tests-quarantining-xnesjq.png new file mode 100644 index 0000000..7ad0fcd Binary files /dev/null and b/assets/changelog/flaky-tests-quarantining-xnesjq.png differ diff --git a/assets/changelog/flaky-tests-test-detail-dashboard-ui-improvements-28h1zg.png b/assets/changelog/flaky-tests-test-detail-dashboard-ui-improvements-28h1zg.png new file mode 100644 index 0000000..3e27472 Binary files /dev/null and b/assets/changelog/flaky-tests-test-detail-dashboard-ui-improvements-28h1zg.png differ diff --git a/assets/changelog/flaky-tests-test-detail-dashboard-ui-improvements-4n5mew.png b/assets/changelog/flaky-tests-test-detail-dashboard-ui-improvements-4n5mew.png new file mode 100644 index 0000000..912454e Binary files /dev/null and b/assets/changelog/flaky-tests-test-detail-dashboard-ui-improvements-4n5mew.png differ diff --git a/assets/changelog/flaky-tests-test-detail-dashboard-ui-improvements-8776t8.png b/assets/changelog/flaky-tests-test-detail-dashboard-ui-improvements-8776t8.png new file mode 100644 index 0000000..38251a7 Binary files /dev/null and b/assets/changelog/flaky-tests-test-detail-dashboard-ui-improvements-8776t8.png differ diff --git a/assets/changelog/flaky-tests-test-detail-dashboard-ui-improvements-i15ll8.png b/assets/changelog/flaky-tests-test-detail-dashboard-ui-improvements-i15ll8.png new file mode 100644 index 0000000..d12c841 Binary files /dev/null and b/assets/changelog/flaky-tests-test-detail-dashboard-ui-improvements-i15ll8.png differ diff --git a/assets/changelog/flaky-tests-webhook-integration-for-slack-microsoft-teams-github-issues-and-linea-9heljc.png b/assets/changelog/flaky-tests-webhook-integration-for-slack-microsoft-teams-github-issues-and-linea-9heljc.png new file mode 100644 index 0000000..82322d6 Binary files /dev/null and b/assets/changelog/flaky-tests-webhook-integration-for-slack-microsoft-teams-github-issues-and-linea-9heljc.png differ diff --git a/assets/changelog/flaky-tests-webhook-integration-for-slack-microsoft-teams-github-issues-and-linea-jbom14.png b/assets/changelog/flaky-tests-webhook-integration-for-slack-microsoft-teams-github-issues-and-linea-jbom14.png new file mode 100644 index 0000000..3bba439 Binary files /dev/null and b/assets/changelog/flaky-tests-webhook-integration-for-slack-microsoft-teams-github-issues-and-linea-jbom14.png differ diff --git a/assets/changelog/flaky-tests-webhooks-for-status-changes-b4hln2.png b/assets/changelog/flaky-tests-webhooks-for-status-changes-b4hln2.png new file mode 100644 index 0000000..eed64e6 Binary files /dev/null and b/assets/changelog/flaky-tests-webhooks-for-status-changes-b4hln2.png differ diff --git a/assets/changelog/flaky-tests-webhooks-for-status-changes-seo.png b/assets/changelog/flaky-tests-webhooks-for-status-changes-seo.png new file mode 100644 index 0000000..9491a70 Binary files /dev/null and b/assets/changelog/flaky-tests-webhooks-for-status-changes-seo.png differ diff --git a/assets/changelog/flaky-tests-weekly-reports-3ymq3g.png b/assets/changelog/flaky-tests-weekly-reports-3ymq3g.png new file mode 100644 index 0000000..93f6bfa Binary files /dev/null and b/assets/changelog/flaky-tests-weekly-reports-3ymq3g.png differ diff --git a/assets/changelog/flaky-tests-weekly-reports-7avaya.png b/assets/changelog/flaky-tests-weekly-reports-7avaya.png new file mode 100644 index 0000000..c610aa6 Binary files /dev/null and b/assets/changelog/flaky-tests-weekly-reports-7avaya.png differ diff --git a/assets/changelog/flaky-tests-weekly-reports-oq8twu.png b/assets/changelog/flaky-tests-weekly-reports-oq8twu.png new file mode 100644 index 0000000..a82a100 Binary files /dev/null and b/assets/changelog/flaky-tests-weekly-reports-oq8twu.png differ diff --git a/assets/changelog/flaky-tests-weekly-reports-ub4gvb.png b/assets/changelog/flaky-tests-weekly-reports-ub4gvb.png new file mode 100644 index 0000000..8f1b95d Binary files /dev/null and b/assets/changelog/flaky-tests-weekly-reports-ub4gvb.png differ diff --git a/assets/changelog/improved-test-failure-details-tdt8wq.png b/assets/changelog/improved-test-failure-details-tdt8wq.png new file mode 100644 index 0000000..8f6faa2 Binary files /dev/null and b/assets/changelog/improved-test-failure-details-tdt8wq.png differ diff --git a/assets/changelog/improved-test-failure-details-xhb9ly.png b/assets/changelog/improved-test-failure-details-xhb9ly.png new file mode 100644 index 0000000..ebb1a5a Binary files /dev/null and b/assets/changelog/improved-test-failure-details-xhb9ly.png differ diff --git a/assets/changelog/linear-integration-ersgby.png b/assets/changelog/linear-integration-ersgby.png new file mode 100644 index 0000000..440e221 Binary files /dev/null and b/assets/changelog/linear-integration-ersgby.png differ diff --git a/assets/changelog/linear-integration-g8tpdc.png b/assets/changelog/linear-integration-g8tpdc.png new file mode 100644 index 0000000..01af8c1 Binary files /dev/null and b/assets/changelog/linear-integration-g8tpdc.png differ diff --git a/assets/changelog/linear-integration-qq782v.png b/assets/changelog/linear-integration-qq782v.png new file mode 100644 index 0000000..a7f5393 Binary files /dev/null and b/assets/changelog/linear-integration-qq782v.png differ diff --git a/assets/changelog/merge-queue-chrome-extension-4syq66.png b/assets/changelog/merge-queue-chrome-extension-4syq66.png new file mode 100644 index 0000000..9f3b25f Binary files /dev/null and b/assets/changelog/merge-queue-chrome-extension-4syq66.png differ diff --git a/assets/changelog/merge-queue-direct-merge-to-main-evezyw.png b/assets/changelog/merge-queue-direct-merge-to-main-evezyw.png new file mode 100644 index 0000000..1afc147 Binary files /dev/null and b/assets/changelog/merge-queue-direct-merge-to-main-evezyw.png differ diff --git a/assets/changelog/merge-queue-failure-tab-only-displays-current-failures-ox1931.png b/assets/changelog/merge-queue-failure-tab-only-displays-current-failures-ox1931.png new file mode 100644 index 0000000..2cbada0 Binary files /dev/null and b/assets/changelog/merge-queue-failure-tab-only-displays-current-failures-ox1931.png differ diff --git a/assets/changelog/merge-queue-filter-metrics-by-impacted-targets-s0hj01.png b/assets/changelog/merge-queue-filter-metrics-by-impacted-targets-s0hj01.png new file mode 100644 index 0000000..f2e2c41 Binary files /dev/null and b/assets/changelog/merge-queue-filter-metrics-by-impacted-targets-s0hj01.png differ diff --git a/assets/changelog/merge-queue-impacted-targets-visible-on-the-merge-graph-kfea5s.png b/assets/changelog/merge-queue-impacted-targets-visible-on-the-merge-graph-kfea5s.png new file mode 100644 index 0000000..52d3a01 Binary files /dev/null and b/assets/changelog/merge-queue-impacted-targets-visible-on-the-merge-graph-kfea5s.png differ diff --git a/assets/changelog/merge-queue-independent-concurrency-for-batch-bisection-6ytyzg.png b/assets/changelog/merge-queue-independent-concurrency-for-batch-bisection-6ytyzg.png new file mode 100644 index 0000000..b4d3684 Binary files /dev/null and b/assets/changelog/merge-queue-independent-concurrency-for-batch-bisection-6ytyzg.png differ diff --git a/assets/changelog/merge-queue-personal-slack-notifications-9ugq86.png b/assets/changelog/merge-queue-personal-slack-notifications-9ugq86.png new file mode 100644 index 0000000..25d97f0 Binary files /dev/null and b/assets/changelog/merge-queue-personal-slack-notifications-9ugq86.png differ diff --git a/assets/changelog/merge-queue-support-additional-merge-methods-2wvyp4.png b/assets/changelog/merge-queue-support-additional-merge-methods-2wvyp4.png new file mode 100644 index 0000000..e993973 Binary files /dev/null and b/assets/changelog/merge-queue-support-additional-merge-methods-2wvyp4.png differ diff --git a/assets/changelog/merge-webhook-notifications-for-microsoft-teams-and-slack-4bn17t.png b/assets/changelog/merge-webhook-notifications-for-microsoft-teams-and-slack-4bn17t.png new file mode 100644 index 0000000..696136d Binary files /dev/null and b/assets/changelog/merge-webhook-notifications-for-microsoft-teams-and-slack-4bn17t.png differ diff --git a/assets/changelog/sunsetting-ci-analytics-and-code-quality-web-issue-browser-8zev0i.png b/assets/changelog/sunsetting-ci-analytics-and-code-quality-web-issue-browser-8zev0i.png new file mode 100644 index 0000000..10fa137 Binary files /dev/null and b/assets/changelog/sunsetting-ci-analytics-and-code-quality-web-issue-browser-8zev0i.png differ diff --git a/assets/changelog/test-analytics-beta-ux-improvements-dashboard-test-details-9b12xv.png b/assets/changelog/test-analytics-beta-ux-improvements-dashboard-test-details-9b12xv.png new file mode 100644 index 0000000..cc7cea1 Binary files /dev/null and b/assets/changelog/test-analytics-beta-ux-improvements-dashboard-test-details-9b12xv.png differ diff --git a/assets/changelog/test-analytics-beta-ux-improvements-dashboard-test-details-set3ys.png b/assets/changelog/test-analytics-beta-ux-improvements-dashboard-test-details-set3ys.png new file mode 100644 index 0000000..2d05a65 Binary files /dev/null and b/assets/changelog/test-analytics-beta-ux-improvements-dashboard-test-details-set3ys.png differ diff --git a/assets/changelog/test-suite-and-class-available-on-test-details-page-pul21b.png b/assets/changelog/test-suite-and-class-available-on-test-details-page-pul21b.png new file mode 100644 index 0000000..81bdc4b Binary files /dev/null and b/assets/changelog/test-suite-and-class-available-on-test-details-page-pul21b.png differ diff --git a/assets/changelog/testing-using-draft-prs-z4rslv.png b/assets/changelog/testing-using-draft-prs-z4rslv.png new file mode 100644 index 0000000..7a20b6e Binary files /dev/null and b/assets/changelog/testing-using-draft-prs-z4rslv.png differ diff --git a/assets/changelog/track-environment-specific-flakes-with-variants-4xs69k.png b/assets/changelog/track-environment-specific-flakes-with-variants-4xs69k.png new file mode 100644 index 0000000..e607358 Binary files /dev/null and b/assets/changelog/track-environment-specific-flakes-with-variants-4xs69k.png differ diff --git a/assets/changelog/trunk-merge-queue-metrics-dashboard-dvsgg7.png b/assets/changelog/trunk-merge-queue-metrics-dashboard-dvsgg7.png new file mode 100644 index 0000000..3d4b9d2 Binary files /dev/null and b/assets/changelog/trunk-merge-queue-metrics-dashboard-dvsgg7.png differ diff --git a/assets/changelog/ui-refresh-enhanced-dashboard-experience-am9gam.png b/assets/changelog/ui-refresh-enhanced-dashboard-experience-am9gam.png new file mode 100644 index 0000000..3c95b11 Binary files /dev/null and b/assets/changelog/ui-refresh-enhanced-dashboard-experience-am9gam.png differ diff --git a/assets/changelog/ui-refresh-enhanced-dashboard-experience-hqzbno.png b/assets/changelog/ui-refresh-enhanced-dashboard-experience-hqzbno.png new file mode 100644 index 0000000..305dede Binary files /dev/null and b/assets/changelog/ui-refresh-enhanced-dashboard-experience-hqzbno.png differ diff --git a/assets/changelog/ui-refresh-enhanced-dashboard-experience-jtly3s.png b/assets/changelog/ui-refresh-enhanced-dashboard-experience-jtly3s.png new file mode 100644 index 0000000..09d4ff4 Binary files /dev/null and b/assets/changelog/ui-refresh-enhanced-dashboard-experience-jtly3s.png differ diff --git a/assets/changelog/ui-refresh-enhanced-dashboard-experience-twjw1s.png b/assets/changelog/ui-refresh-enhanced-dashboard-experience-twjw1s.png new file mode 100644 index 0000000..2ea588f Binary files /dev/null and b/assets/changelog/ui-refresh-enhanced-dashboard-experience-twjw1s.png differ diff --git a/assets/changelog/web-app-light-mode-support-pnz6w9.png b/assets/changelog/web-app-light-mode-support-pnz6w9.png new file mode 100644 index 0000000..4e04421 Binary files /dev/null and b/assets/changelog/web-app-light-mode-support-pnz6w9.png differ diff --git a/assets/changelog/web-app-light-mode-support-seo.png b/assets/changelog/web-app-light-mode-support-seo.png new file mode 100644 index 0000000..4e04421 Binary files /dev/null and b/assets/changelog/web-app-light-mode-support-seo.png differ diff --git a/assets/changelog/web-app-sign-in-with-microsoft-9ns7li.png b/assets/changelog/web-app-sign-in-with-microsoft-9ns7li.png new file mode 100644 index 0000000..788dd48 Binary files /dev/null and b/assets/changelog/web-app-sign-in-with-microsoft-9ns7li.png differ diff --git a/assets/changelog/web-app-single-sign-on-sso-support-5qox0y.png b/assets/changelog/web-app-single-sign-on-sso-support-5qox0y.png new file mode 100644 index 0000000..883ae7e Binary files /dev/null and b/assets/changelog/web-app-single-sign-on-sso-support-5qox0y.png differ diff --git a/changelog/2023-08-01-plugins-1-1-0.mdx b/changelog/2023-08-01-plugins-1-1-0.mdx new file mode 100644 index 0000000..7eb60d7 --- /dev/null +++ b/changelog/2023-08-01-plugins-1-1-0.mdx @@ -0,0 +1,28 @@ +--- +title: Plugins 1.1.0 +description: "New security linter: dustilock; New security linter: trufflehog-git (a variant of trufflehog)." +slug: plugins-1-1-0 +date: 2023-08-01 +category: Code Quality +--- + +**🎁 New** + +- New security linter: [dustilock](https://github.com/Checkmarx/dustilock#readme). +- New security linter: `trufflehog-git` (a variant + of [trufflehog](https://github.com/trufflesecurity/trufflehog#readme)). +- New formatter: [prisma.](https://github.com/prisma/prisma#readme) + +**✨ Improvements** + +- Improve Windows CI tests. +- Add downloads for Linux arm64. +- Deprecate `kube-linter@<0.6.1`. **Please update your config accordingly.** +- Trigger `buf generate` on changes to `buf.gen.yaml` and `buf.work.yaml.` + +**🔧 Fixes** + +- Fix `bandit` to respect config files. +- Fix `osv-scanner` line number reporting. +- Fix `trufflehog` line number off-by-one errors. +- Fix `autopep8` integration by pinning `pycodestyle` version. diff --git a/changelog/2023-08-10-plugins-1-1-1.mdx b/changelog/2023-08-10-plugins-1-1-1.mdx new file mode 100644 index 0000000..eeb02c2 --- /dev/null +++ b/changelog/2023-08-10-plugins-1-1-1.mdx @@ -0,0 +1,11 @@ +--- +title: Plugins 1.1.1 +description: "Add support for private packages to golangci-lint." +slug: plugins-1-1-1 +date: 2023-08-10 +category: Code Quality +--- + +**✨ Improvements** + +- Add support for private packages to `golangci-lint.` diff --git a/changelog/2023-08-18-1-14-0.mdx b/changelog/2023-08-18-1-14-0.mdx new file mode 100644 index 0000000..61b92d0 --- /dev/null +++ b/changelog/2023-08-18-1-14-0.mdx @@ -0,0 +1,29 @@ +--- +title: CLI 1.14.0 +description: "Introducing Trunk Tools: Hermetic runtime and CLI manager; Linux arm64 support added." +slug: 1-14-0 +date: 2023-08-18 +category: Code Quality +--- + +**🎁 New** + +- Introducing [Trunk Tools](https://docs.trunk.io/tools): Hermetic runtime and CLI manager. +- Linux arm64 support added. +- Run only security linters using --scope=security. + +**✨ Improvements** + +- Linter command overrides now honor platform constraints. +- Filetype definitions expanded: Match any shebang with ALL. +- trunk fmt now supports --cache=false option. +- Added no_issues_codes: Linters can bypass parsing for specific tool exit codes. +- Node runtime now recognizes user's .npmrc settings. + +**🔧 Fixes** + +- Resolved crash issue for --ci with trunk fmt. +- Corrected off-by-one error in include-what-you-use parser. +- Numerous Windows-related fixes. +- LSP Server: Diagnostics from user.yaml are now cleared appropriately. +- SARIF parser updated to support file:// artifact locations. diff --git a/changelog/2023-08-18-plugins-1-2-0.mdx b/changelog/2023-08-18-plugins-1-2-0.mdx new file mode 100644 index 0000000..83eacaf --- /dev/null +++ b/changelog/2023-08-18-plugins-1-2-0.mdx @@ -0,0 +1,25 @@ +--- +title: Plugins 1.2.0 +description: "Trunk Tools: Hermetic runtime and CLI manager; Linux arm64 support." +slug: plugins-1-2-0 +date: 2023-08-18 +category: Code Quality +--- + +**🎁 New** + +- [Trunk Tools](https://docs.trunk.io/tools): Hermetic runtime and CLI manager. +- Linux arm64 support. +- `trivy` secret scanning (disabled by default). +- New linter: [pmd.](https://pmd.github.io/) +- New action: `trufflehog-pre-commit.` + +**✨ Improvements** + +- Better output for trivy. +- Osv-scanner output improvements and optimizations. +- Better support for Windows. + +**🔧 Fixes** + +- Fix `run_linter_from` for `golangci-lint`, `gokart`, `buf-breaking.` diff --git a/changelog/2023-08-18-plugins-1-2-1.mdx b/changelog/2023-08-18-plugins-1-2-1.mdx new file mode 100644 index 0000000..6e529f2 --- /dev/null +++ b/changelog/2023-08-18-plugins-1-2-1.mdx @@ -0,0 +1,11 @@ +--- +title: Plugins 1.2.1 +description: "Downgrade default ruby version to 3.1.4." +slug: plugins-1-2-1 +date: 2023-08-18 +category: Code Quality +--- + +**🔧 Fixes** + +- Downgrade default ruby version to 3.1.4. diff --git a/changelog/2023-08-21-1-14-1.mdx b/changelog/2023-08-21-1-14-1.mdx new file mode 100644 index 0000000..dee3d07 --- /dev/null +++ b/changelog/2023-08-21-1-14-1.mdx @@ -0,0 +1,18 @@ +--- +title: CLI 1.14.1 +description: "Trunk now respect pip.conf in python environments; Added health checks to tool installations." +slug: 1-14-1 +date: 2023-08-21 +category: Code Quality +--- + +**✨ Improvements** + +- Trunk now respect pip.conf in python environments. +- Added health checks to tool installations. + +**🔧 Fixes** + +- Fixed race condition when a linter had both a runtime and a download, but no packages. +- Ensure that ignores apply to all commands of a linter, not just the first. +- Fixed a rare crash in template expansion when a variable was not defined. diff --git a/changelog/2023-08-22-vscode-3-4-5.mdx b/changelog/2023-08-22-vscode-3-4-5.mdx new file mode 100644 index 0000000..7450c38 --- /dev/null +++ b/changelog/2023-08-22-vscode-3-4-5.mdx @@ -0,0 +1,16 @@ +--- +title: VSCode 3.4.5 +description: "Updated the handling of trunk.languageServerArguments to be additive as opposed to replacing the default arguments." +slug: vscode-3-4-5 +date: 2023-08-22 +category: Code Quality +--- + +**🎁 New** + +- Updated the handling of `trunk.languageServerArguments` to be additive as opposed to replacing the + default arguments. + +**🔧 Fixes** + +- Refined error handling for improperly configured workspaces. diff --git a/changelog/2023-08-23-plugins-1-2-2.mdx b/changelog/2023-08-23-plugins-1-2-2.mdx new file mode 100644 index 0000000..c74366e --- /dev/null +++ b/changelog/2023-08-23-plugins-1-2-2.mdx @@ -0,0 +1,15 @@ +--- +title: Plugins 1.2.2 +description: "New tool: awscli." +slug: plugins-1-2-2 +date: 2023-08-23 +category: Code Quality +--- + +**🎁 New** + +- New tool: `awscli.` + +**🔧 Fixes** + +- Fix `gokart` for repositories where go.mod is not in root. diff --git a/changelog/2023-08-28-1-14-2.mdx b/changelog/2023-08-28-1-14-2.mdx new file mode 100644 index 0000000..5f48d17 --- /dev/null +++ b/changelog/2023-08-28-1-14-2.mdx @@ -0,0 +1,19 @@ +--- +title: CLI 1.14.2 +description: "Excluded diagnostics from outside the workspace; Tool installation failures are now logged in CI mode." +slug: 1-14-2 +date: 2023-08-28 +category: Code Quality +--- + +**✨ Improvements** + +- Excluded diagnostics from outside the workspace. +- Tool installation failures are now logged in CI mode. +- Trunk now watches for file changes on Windows. +- trunk tools install now accepts positional arguments for selective tool downloads. + +**🔧 Fixes** + +- Prevented Trunk from downgrading tool versions. +- Corrected scanned file statistics for post-autofix rescans. diff --git a/changelog/2023-09-05-1-15-0.mdx b/changelog/2023-09-05-1-15-0.mdx new file mode 100644 index 0000000..18522b0 --- /dev/null +++ b/changelog/2023-09-05-1-15-0.mdx @@ -0,0 +1,24 @@ +--- +title: CLI 1.15.0 +description: "New command line flag: --print-failures will print any failures instead of saving them to a file." +slug: 1-15-0 +date: 2023-09-05 +category: Code Quality +--- + +**🎁 New** + +- New command line flag: --print-failures will print any failures instead of saving them to a file. + +**✨ Improvements** + +- trunk upgrade is now able to perform all upgrades in a single invocation. Previously, it would + require multiple invocations if there were dependencies between the linters, plugin repos, or the + CLI. +- The LSP Server will now lint files that are modified outside of the editor. + +**🔧 Fixes** + +- Remove deprecated trunk check download. It has been superseded by trunk install. +- Make Trunk daemon startup faster to fix occasional timeouts connecting to it. +- Fix various Windows issues. diff --git a/changelog/2023-09-07-plugins-1-2-3.mdx b/changelog/2023-09-07-plugins-1-2-3.mdx new file mode 100644 index 0000000..2c45864 --- /dev/null +++ b/changelog/2023-09-07-plugins-1-2-3.mdx @@ -0,0 +1,18 @@ +--- +title: Plugins 1.2.3 +description: "New tool and formatter: deno; New tool: aws-amplify." +slug: plugins-1-2-3 +date: 2023-09-07 +category: Code Quality +--- + +**🎁 New** + +- New tool and formatter: [deno](https://github.com/denoland/deno#readme). +- New tool: `aws-amplify.` +- New tool: `yarn.` +- New tool: `jq`**.** + +**✨ Improvements** + +- Use Go Install for `bazel-differ.` diff --git a/changelog/2023-09-13-vscode-3-4-7.mdx b/changelog/2023-09-13-vscode-3-4-7.mdx new file mode 100644 index 0000000..cce114e --- /dev/null +++ b/changelog/2023-09-13-vscode-3-4-7.mdx @@ -0,0 +1,13 @@ +--- +title: VSCode 3.4.7 +description: "Removed some special handling for recycling Webviews; On Windows, show a message indicating that a user has opened a directory that is not a git repository when applicable." +slug: vscode-3-4-7 +date: 2023-09-13 +category: Code Quality +--- + +**🔧 Fixes** + +- Removed some special handling for recycling Webviews. +- On Windows, show a message indicating that a user has opened a directory that is not a git + repository when applicable. diff --git a/changelog/2023-09-18-1-16-0.mdx b/changelog/2023-09-18-1-16-0.mdx new file mode 100644 index 0000000..2c45eb5 --- /dev/null +++ b/changelog/2023-09-18-1-16-0.mdx @@ -0,0 +1,31 @@ +--- +title: CLI 1.16.0 +description: "Introduce the ability to pin a specific version of a linter, tool, or runtime in Trunk. Append a ! to its version to prevent updates via trunk upgrade; Added support for plugins in prettier versions…" +slug: 1-16-0 +date: 2023-09-18 +category: Code Quality +--- + +**🎁 New** + +- Introduce the ability to pin a specific version of a linter, tool, or runtime in Trunk. Append + a ! to its version to prevent updates via trunk upgrade. +- Added support for plugins in prettier versions >=3.0.0. + +**✨ Improvements** + +- Replaced run_linter_from with run_from in linter definitions + ([see docs](https://docs.trunk.io/check/custom-linters)). +- Trunk will no longer suggest upgrades that are enabled in a plugin. + +**🔧 Fixes** + +- Resolved an issue where trunk upgrade sometimes failed to display upgrade summaries. +- Updated compile_commands.json parsing with support for the arguments key. +- Fix a rare crash in the pre-commit hook when pressing the spacebar to skip checks. +- Do a better job of discarding issues in files outside the workspace. +- The LSP Sever does a better job clearing stale diagnostics. +- Better crash reporting on macOS. +- Better error messages when failing to resolve DNS entries. +- Fixed a bug where trunk would reinstall tools on each upgrade. +- Many Windows bug fixes. diff --git a/changelog/2023-09-20-vscode-3-4-8.mdx b/changelog/2023-09-20-vscode-3-4-8.mdx new file mode 100644 index 0000000..7af3f34 --- /dev/null +++ b/changelog/2023-09-20-vscode-3-4-8.mdx @@ -0,0 +1,11 @@ +--- +title: VSCode 3.4.8 +description: "Fixed some initialization issues whenever trunk is auto-initialized in a repository." +slug: vscode-3-4-8 +date: 2023-09-20 +category: Code Quality +--- + +**🔧 Fixes** + +- Fixed some initialization issues whenever trunk is auto-initialized in a repository. diff --git a/changelog/2023-09-26-1-16-1.mdx b/changelog/2023-09-26-1-16-1.mdx new file mode 100644 index 0000000..7f0efe9 --- /dev/null +++ b/changelog/2023-09-26-1-16-1.mdx @@ -0,0 +1,18 @@ +--- +title: CLI 1.16.1 +description: "Oxipng now uses the language \"unoptimized image\" rather than \"unformatted file.\"; Improved crash reporting for internal errors." +slug: 1-16-1 +date: 2023-09-26 +category: Code Quality +--- + +**✨ Improvements** + +- Oxipng now uses the language "unoptimized image" rather than "unformatted file." +- Improved crash reporting for internal errors. + +**🔧 Fixes** + +- Be more resilient to permission-denied errors in the file watcher. +- The LSP Server will now retry linting a file when it detects the file has changed, rather than + leaving stale diagnostics. diff --git a/changelog/2023-09-26-plugins-1-2-4.mdx b/changelog/2023-09-26-plugins-1-2-4.mdx new file mode 100644 index 0000000..7385863 --- /dev/null +++ b/changelog/2023-09-26-plugins-1-2-4.mdx @@ -0,0 +1,28 @@ +--- +title: Plugins 1.2.4 +description: "New tool: clangd." +slug: plugins-1-2-4 +date: 2023-09-26 +category: Code Quality +--- + +**🎁 New** + +- New tool: `clangd.` + +**✨ Improvements** + +- Don't autoenable `gokart` and `tfsec.` +- Lower the `hadolint` timeout. +- Update definitions to use the new `run_from` syntax. +- Add `mts` as a typescript file extension. +- Update `jq` definition and release label. +- Update copy on `oxipng` autofixes. +- Update default `ruff` config to not report diagnostics for python docstrings. +- Update tool testing framework to use healthchecks. + +**🔧 Fixes** + +- Fix `tfsec` output related to trivy migration. +- Fix `trufflehog` to ignore PagerDutyApiKey and LaunchDarkly, which can include many false + positives. diff --git a/changelog/2023-09-26-vscode-3-4-9.mdx b/changelog/2023-09-26-vscode-3-4-9.mdx new file mode 100644 index 0000000..3e1ddc8 --- /dev/null +++ b/changelog/2023-09-26-vscode-3-4-9.mdx @@ -0,0 +1,15 @@ +--- +title: VSCode 3.4.9 +description: "Added a new setting for controlling whether to add Trunk Tools to PATH." +slug: vscode-3-4-9 +date: 2023-09-26 +category: Code Quality +--- + +**🎁 New** + +- Added a new setting for controlling whether to add Trunk Tools to PATH. + +**🔧 Fixes** + +- Fixed a runtime error that could occur when the extension was activated on Windows. diff --git a/changelog/2023-09-27-1-16-2.mdx b/changelog/2023-09-27-1-16-2.mdx new file mode 100644 index 0000000..5767870 --- /dev/null +++ b/changelog/2023-09-27-1-16-2.mdx @@ -0,0 +1,11 @@ +--- +title: CLI 1.16.2 +description: "Fixed a bug where the LSP server may become unresponsive." +slug: 1-16-2 +date: 2023-09-27 +category: Code Quality +--- + +**🔧 Fixes** + +- Fixed a bug where the LSP server may become unresponsive. diff --git a/changelog/2023-09-29-plugins-1-2-5.mdx b/changelog/2023-09-29-plugins-1-2-5.mdx new file mode 100644 index 0000000..edcbc7c --- /dev/null +++ b/changelog/2023-09-29-plugins-1-2-5.mdx @@ -0,0 +1,15 @@ +--- +title: Plugins 1.2.5 +description: "Update svgo to use new fixverb / fixprompt support." +slug: plugins-1-2-5 +date: 2023-09-29 +category: Code Quality +--- + +**✨ Improvements** + +- Update `svgo` to use new fix_verb / fix_prompt support. + +**🔧 Fixes** + +- Fix issues with custom parsers and python formatters on Windows non-utf8 filepaths. diff --git a/changelog/2023-09-29-vscode-3-4-6.mdx b/changelog/2023-09-29-vscode-3-4-6.mdx new file mode 100644 index 0000000..44300b0 --- /dev/null +++ b/changelog/2023-09-29-vscode-3-4-6.mdx @@ -0,0 +1,12 @@ +--- +title: VSCode 3.4.6 +description: "Fixed a bug where commands were registered before the extension had properly initialized; Fixed telemetry." +slug: vscode-3-4-6 +date: 2023-09-29 +category: Code Quality +--- + +**🔧 Fixes** + +- Fixed a bug where commands were registered before the extension had properly initialized. +- Fixed telemetry. diff --git a/changelog/2023-10-12-vscode-3-5-0.mdx b/changelog/2023-10-12-vscode-3-5-0.mdx new file mode 100644 index 0000000..aa6eddb --- /dev/null +++ b/changelog/2023-10-12-vscode-3-5-0.mdx @@ -0,0 +1,15 @@ +--- +title: VSCode 3.5.0 +description: "Re-added the ability to format files from tree view navigation menus; Added the ability to autofix issues from the tree view navigation menus." +slug: vscode-3-5-0 +date: 2023-10-12 +category: Code Quality +--- + +**🎁 New** + +- Re-added the ability to format files from tree view navigation menus. +- Added the ability to autofix issues from the tree view navigation menus. +- Added the ability to disable linters via tree view navigation menus and code actions. +- The eye icon in the status bar now toggles the visibility of preexisting issues. +- Preexisting and low-severity issues are now rendered in gray. diff --git a/changelog/2023-10-13-1-17-0.mdx b/changelog/2023-10-13-1-17-0.mdx new file mode 100644 index 0000000..216246a --- /dev/null +++ b/changelog/2023-10-13-1-17-0.mdx @@ -0,0 +1,20 @@ +--- +title: CLI 1.17.0 +description: "Trunk now always uses TCP instead of unix domain sockets to communicate with its daemon; Trunk tools now does health checks to ensure installed versions match the expected versions." +slug: 1-17-0 +date: 2023-10-13 +category: Code Quality +--- + +**✨ Improvements** + +- Trunk now always uses TCP instead of unix domain sockets to communicate with its daemon. +- Trunk tools now does health checks to ensure installed versions match the expected versions. +- LSP Server optimizations. +- trunk-ignore-all can now be used to ignore formatting diagnostics. + +**🔧 Fixes** + +- Allow linter definitions to override environment variables as intended. +- Various Windows bug fixes. +- Better error reporting for various issues. diff --git a/changelog/2023-10-17-1-17-1.mdx b/changelog/2023-10-17-1-17-1.mdx new file mode 100644 index 0000000..30e8d31 --- /dev/null +++ b/changelog/2023-10-17-1-17-1.mdx @@ -0,0 +1,14 @@ +--- +title: CLI 1.17.1 +description: "Fix bug where trunk init --single-player-mode would fail if you do not have a .git/info directory; Proper handling of percent encoding in SARIF output." +slug: 1-17-1 +date: 2023-10-17 +category: Code Quality +--- + +**🔧 Fixes** + +- Fix bug where trunk init --single-player-mode would fail if you do not have a .git/info directory. +- Proper handling of percent encoding in SARIF output. +- Do not use proxy settings when connecting to the daemon using TCP loopback. +- Windows fixes. diff --git a/changelog/2023-10-17-plugins-1-2-6.mdx b/changelog/2023-10-17-plugins-1-2-6.mdx new file mode 100644 index 0000000..6b682c3 --- /dev/null +++ b/changelog/2023-10-17-plugins-1-2-6.mdx @@ -0,0 +1,25 @@ +--- +title: Plugins 1.2.6 +description: "New formatter: pre-commit-hooks (more coming soon); New linter: markdown-link-check." +slug: plugins-1-2-6 +date: 2023-10-17 +category: Code Quality +--- + +**🎁 New** + +- New formatter: [pre-commit-hooks](https://pre-commit.com/) (more coming soon). +- New linter: [markdown-link-check.](https://github.com/tcort/markdown-link-check#readme) +- New tool: `platformio.` +- New tool: `ts-node.` + +**✨ Improvements** + +- Add issue URL to `ruff` and support for `v0.1.0.` +- Disable `trivy` `fs-vuln` subcommand by default. +- Add direct config files for `tfsec.` +- Added filetype `haskell.` + +**🔧 Fixes** + +- Fix clang-tidy issue URL. diff --git a/changelog/2023-10-26-vscode-3-6-0.mdx b/changelog/2023-10-26-vscode-3-6-0.mdx new file mode 100644 index 0000000..4d4c144 --- /dev/null +++ b/changelog/2023-10-26-vscode-3-6-0.mdx @@ -0,0 +1,18 @@ +--- +title: VSCode 3.6.0 +description: "Mark inline diagnostics as generated by Trunk; Updated the tree view to show new/preexisting issue counts." +slug: vscode-3-6-0 +date: 2023-10-26 +category: Code Quality +--- + +**🎁 New** + +- Mark inline diagnostics as generated by Trunk. +- Updated the tree view to show new/preexisting issue counts. +- Open the status bar on install. + +**🔧 Fixes** + +- Fixed some bugs with initialization. +- improved telemetry. diff --git a/changelog/2023-11-01-vscode-3-7-0.mdx b/changelog/2023-11-01-vscode-3-7-0.mdx new file mode 100644 index 0000000..f6abf7d --- /dev/null +++ b/changelog/2023-11-01-vscode-3-7-0.mdx @@ -0,0 +1,18 @@ +--- +title: VSCode 3.7.0 +description: "The extension now streams logs to ${workspace}/.trunk/logs/vscode.log; Made minor changes to verbiage in the UI." +slug: vscode-3-7-0 +date: 2023-11-01 +category: Code Quality +--- + +**🎁 New** + +- The extension now streams logs to ${workspace}/.trunk/logs/vscode.log. +- Made minor changes to verbiage in the UI. + +**🔧 Fixes** + +- `trunk.addToolsToPath` now defaults to false. +- Fixed an issue with some Windows users where install paths with spaces were not handled correctly. +- Fixed a bug where the extension occasionally sent incorrect file contents on init. diff --git a/changelog/2023-11-09-1-17-2.mdx b/changelog/2023-11-09-1-17-2.mdx new file mode 100644 index 0000000..713893a --- /dev/null +++ b/changelog/2023-11-09-1-17-2.mdx @@ -0,0 +1,25 @@ +--- +title: CLI 1.17.2 +description: "Single-player mode will now auto-upgrade all linters periodically; Linters now have a maximum concurrency setting. Trunk will never run a linter more than this number of times simultaneously." +slug: 1-17-2 +date: 2023-11-09 +category: Code Quality +--- + +**🎁 New** + +- Single-player mode will now auto-upgrade all linters periodically. +- Linters now have a maximum + concurrency [setting](https://docs.trunk.io/check/custom-linters#limiting-concurrency). Trunk will + never run a linter more than this number of times simultaneously. + +**✨ Improvements** + +- Trunk now gives an error message when you include a version specifier in a disabled entry. +- Added + the --only-detected-formatters and --only-detected-linters [flags](https://docs.trunk.io/cli/init-in-a-git-repo#only-enabling-detected-tools) +- LSP Server de-deuplicates code actions. + +**🔧 Fixes** + +- Fixed a memory leak in the daemon process. diff --git a/changelog/2023-11-13-vscode-3-8-0.mdx b/changelog/2023-11-13-vscode-3-8-0.mdx new file mode 100644 index 0000000..21117dc --- /dev/null +++ b/changelog/2023-11-13-vscode-3-8-0.mdx @@ -0,0 +1,16 @@ +--- +title: VSCode 3.8.0 +description: "The extension helps guide users towards committing their trunk.yaml." +slug: vscode-3-8-0 +date: 2023-11-13 +category: Code Quality +--- + +**🎁 New** + +- The extension helps guide users towards committing their trunk.yaml. + +**🔧 Fixes** + +- Fixed some telemetry issues +- Fixed some additional issues with initialization in Windows. diff --git a/changelog/2023-11-20-plugins-1-3-0.mdx b/changelog/2023-11-20-plugins-1-3-0.mdx new file mode 100644 index 0000000..ee959ec --- /dev/null +++ b/changelog/2023-11-20-plugins-1-3-0.mdx @@ -0,0 +1,27 @@ +--- +title: Plugins 1.3.0 +description: "New tools: gulp, tailwindcss, tsc, webpack.; New formatter: dotnet-format (MacOS support coming soon)." +slug: plugins-1-3-0 +date: 2023-11-20 +category: Code Quality +--- + +**🎁 New** + +- New tools: `gulp`, `tailwindcss`, `tsc`, `webpack.` +- New formatter: [dotnet-format](https://github.com/dotnet/format#readme) (MacOS support coming + soon). + +**✨ Improvements** + +- Change `trufflehog` to use `--only-verified` by default, reducing false positives. +- Find line/col information from `markdown-link-check.` +- Support running `sourcery` with open source license (currently incompatible on Windows). +- Gate linter upgrade validation to also include Windows tests. +- Add `fix` command for `standardrb.` + +**🔧 Fixes** + +- Fix `trufflehog` line number errors. +- Remove `trunk install` from codespaces setup. +- Fix `osv-scanner` execution env. diff --git a/changelog/2023-11-20-vscode-3-9-0.mdx b/changelog/2023-11-20-vscode-3-9-0.mdx new file mode 100644 index 0000000..84feb4b --- /dev/null +++ b/changelog/2023-11-20-vscode-3-9-0.mdx @@ -0,0 +1,18 @@ +--- +title: VSCode 3.9.0 +description: "The install flow is streamlined to guide users to a welcome page, or to open their trunk config, depending on their workbench state." +slug: vscode-3-9-0 +date: 2023-11-20 +category: Code Quality +--- + +**🎁 New** + +- The install flow is streamlined to guide users to a welcome page, or to open their trunk config, + depending on their workbench state. + +**🔧 Fixes** + +- Fixed issues for users with spaces in their install paths. +- Fixed issues for detecting whether the user can init trunk in their current workspace state. +- The extension now only opens trunk.yaml automatically on first time use after install. diff --git a/changelog/2023-11-21-trunk-merge-parallel-queues.mdx b/changelog/2023-11-21-trunk-merge-parallel-queues.mdx new file mode 100644 index 0000000..e62abb4 --- /dev/null +++ b/changelog/2023-11-21-trunk-merge-parallel-queues.mdx @@ -0,0 +1,43 @@ +--- +title: Trunk Merge Queue - Parallel Queues +description: "Trunk Merge Queue now offers two modes for creating merge queues: \"Single\" and \"Parallel\". The Single mode operates as a standard first-in, first-out merge queue, where pull requests (PRs) are added…" +slug: trunk-merge-parallel-queues +date: 2023-11-21 +category: Merge Queue +seo_title: Parallel Queues +seo_description: Trunk Merge Queue now has parallel queues! +--- + +Trunk Merge Queue now offers two modes for creating merge queues: "Single" and "Parallel". The +Single mode operates as a standard first-in, first-out merge queue, where pull requests (PRs) are +added and merged in the order they arrive. In Parallel mode, Trunk Merge Queue can create multiple +queues. + +When a PR is added in Parallel mode, it checks if the changes in the PR impact the same areas as +other PRs in the queue. Depending on this, the PR is either placed in an existing queue or a new one +is created for it. This method allows PRs that don't interfere with each other to be tested and +merged simultaneously, improving efficiency while ensuring accurate testing. + +**Excited to try out parallel mode? Some benefits you can expect are:** + +- **Parallel PR Testing/Merging:** Dynamic queues allow simultaneous merging of related PRs across + different code areas, avoiding delays from unrelated PRs. +- **Lower CI Burn:** Only PRs affecting the same code areas are retested if a PR in the Merge Queue + fails or is removed, lowering CI strain. +- **Scalable Merging:** Parallel queues manage any number of PRs regardless of team size by focusing + on interdependent PRs. + +**Getting Started:** + +- Sign Up for an account: [https://app.trunk.io/](https://app.trunk.io/) +- [Configure](https://docs.trunk.io/merge-graph/set-up-trunk-merge#set-up-trunk-merge). Add your + build system info, so that we can calculate the dependency graph. +- [Existing Trunk Merge Queue Users](https://docs.trunk.io/merge-graph/merge): Current users can + maintain their workflow with the existing system + +**Notes:** + +- This update aims to enhance productivity and reduce bottlenecks in the merge process, particularly + for teams experiencing growth and increased PR volume. +- Continuous integration and code quality remain a top priority, with the new system designed to + uphold these standards while increasing efficiency. diff --git a/changelog/2023-12-01-vscode-3-11-0.mdx b/changelog/2023-12-01-vscode-3-11-0.mdx new file mode 100644 index 0000000..1cb7078 --- /dev/null +++ b/changelog/2023-12-01-vscode-3-11-0.mdx @@ -0,0 +1,16 @@ +--- +title: VSCode 3.11.0 +description: "Added inline annotations in trunk.yaml to guide a user towards tracking their trunk.yaml in git." +slug: vscode-3-11-0 +date: 2023-12-01 +category: Code Quality +--- + +**🎁 New** + +- Added inline annotations in trunk.yaml to guide a user towards tracking their trunk.yaml in git. + +**🔧 Fixes** + +- Fixed a bug where the extension attempted to initialize trunk when the workspace is not rooted in + a git repository. diff --git a/changelog/2023-12-05-cli-1-18-0.mdx b/changelog/2023-12-05-cli-1-18-0.mdx new file mode 100644 index 0000000..24f164a --- /dev/null +++ b/changelog/2023-12-05-cli-1-18-0.mdx @@ -0,0 +1,31 @@ +--- +title: CLI 1.18.0 +description: "Announcing Trunk shell-hooks: Watches your current working directory to ensure that Trunk-managed tools, linters, and runtimes are available in PATH." +slug: cli-1-18-0 +date: 2023-12-05 +category: Code Quality +--- + +**🎁 New** + +- Announcing [Trunk shell-hooks](https://docs.trunk.io/check/tools#running-tools): Watches your + current working directory to ensure that Trunk-managed tools, linters, and runtimes are available + in _PATH_. + +**✨ Improvements** + +- Trunk check will now hide pre-existing issues by default. The new `--show-existing` command-line + flag can be used to show them. +- Trunk check will now omit prompts if not running with an interactive terminal. +- Trunk tools can now + [list extra packages](https://docs.trunk.io/check/configuration#installing-additional-packages) to + be installed. +- Runtime-based tools (ie, `python`) must now be + [explicitly](https://docs.trunk.io/check/tools/configuration#runtime-based-tools) enabled. + +**🔧 Fixes** + +- Several Windows fixes. +- Fixes for Emacs-based LSP clients. +- The LSP server will now limit the number of retries for linting files that are modified mid-run. +- Miscellaneous fixes. diff --git a/changelog/2023-12-08-plugins-1-4-0.mdx b/changelog/2023-12-08-plugins-1-4-0.mdx new file mode 100644 index 0000000..f1919f5 --- /dev/null +++ b/changelog/2023-12-08-plugins-1-4-0.mdx @@ -0,0 +1,22 @@ +--- +title: Plugins 1.4.0 +description: "New tool: GitKraken" +slug: plugins-1-4-0 +date: 2023-12-08 +category: Code Quality +--- + +**🎁 New** + +- New tool: `GitKraken` + +**✨ Improvements** + +- Allow `black` to format python interface files +- Update `mypy` `run_from` to respect nested setups +- Support `graphite@>=1.0.0` + +**🔧 Fixes** + +- Support non-utf8 filepaths for `checkov` +- Fix how `tflint` runs on newer version, and add docs for how to use global config diff --git a/changelog/2023-12-13-vscode-3-12-0.mdx b/changelog/2023-12-13-vscode-3-12-0.mdx new file mode 100644 index 0000000..c62bd8d --- /dev/null +++ b/changelog/2023-12-13-vscode-3-12-0.mdx @@ -0,0 +1,17 @@ +--- +title: VSCode 3.12.0 +description: "The notification to add trunk.yaml to git state is shown less frequently; The Trunk launcher is now added to PATH on windows." +slug: vscode-3-12-0 +date: 2023-12-13 +category: Code Quality +--- + +**✨ Improvements** + +- The notification to add trunk.yaml to git state is shown less frequently. +- The Trunk launcher is now added to PATH on windows. + +**🔧 Fixes** + +- Fixed issues where the extension attempted to auto-init within git submodules, even though the CLI + does not allow this. diff --git a/changelog/2023-12-14-cli-1-18-1.mdx b/changelog/2023-12-14-cli-1-18-1.mdx new file mode 100644 index 0000000..4bc9510 --- /dev/null +++ b/changelog/2023-12-14-cli-1-18-1.mdx @@ -0,0 +1,19 @@ +--- +title: CLI 1.18.1 +description: "Trunk will now respect .netrc when downloading files; When a batched linter execution fails, trunk will now bisect the batch, and only tell the user about the file(s) that failed." +slug: cli-1-18-1 +date: 2023-12-14 +category: Code Quality +--- + +**✨ Improvements** + +- Trunk will now respect `.netrc` when downloading files. +- When a batched linter execution fails, trunk will now bisect the batch, and only tell the user + about the file(s) that failed. + +**🔧 Fixes** + +- Fix a bug where concurrent go installs could conflict with each other. +- Fix a bug where the trunk-announce action would fail when creating a git worktree. +- Fix a rare bug where trunk could consume a CPU core for an indefinite amount of time. diff --git a/changelog/2023-12-18-plugins-1-4-1.mdx b/changelog/2023-12-18-plugins-1-4-1.mdx new file mode 100644 index 0000000..e28ae40 --- /dev/null +++ b/changelog/2023-12-18-plugins-1-4-1.mdx @@ -0,0 +1,22 @@ +--- +title: Plugins 1.4.1 +description: "New formatter: markdown-table-prettify; New tool: diff-so-fancy." +slug: plugins-1-4-1 +date: 2023-12-18 +category: Code Quality +--- + +**🎁 New** + +- New formatter: + [`markdown-table-prettify`](https://github.com/darkriszty/MarkdownTablePrettify-VSCodeExt?tab=readme-ov-file#markdown-table-prettifier) +- New tool: `diff-so-fancy` + +**✨ Improvements** + +- Improve `checkov` error handling to account for python issues + +**🔧 Fixes** + +- Fix `yarn` download version gating +- Fix `codespell` command definition to include name diff --git a/changelog/2024-01-04-vscode-3-13-0.mdx b/changelog/2024-01-04-vscode-3-13-0.mdx new file mode 100644 index 0000000..a692a4a --- /dev/null +++ b/changelog/2024-01-04-vscode-3-13-0.mdx @@ -0,0 +1,17 @@ +--- +title: VSCode 3.13.0 +description: "File items are auto-expanded in the tree view as soon as they have diagnostics; The Actions pane is no longer displayed when a repo is not open." +slug: vscode-3-13-0 +date: 2024-01-04 +category: Code Quality +--- + +**✨ Improvements** + +- File items are auto-expanded in the tree view as soon as they have diagnostics +- The Actions pane is no longer displayed when a repo is not open + +**🔧 Fixes** + +- Fix a crash if the trunk logs directory is deleted. +- Fix logic for watching for trunk initialization on the command line under certain circumstances diff --git a/changelog/2024-01-08-cli-1-19-0.mdx b/changelog/2024-01-08-cli-1-19-0.mdx new file mode 100644 index 0000000..fe0c066 --- /dev/null +++ b/changelog/2024-01-08-cli-1-19-0.mdx @@ -0,0 +1,23 @@ +--- +title: CLI 1.19.0 +description: "Rewrite linters now have the ability to emit diagnostics." +slug: cli-1-19-0 +date: 2024-01-08 +category: Code Quality +--- + +**🎁 New** + +- Rewrite linters now have the ability to emit diagnostics. + +**✨ Improvements** + +- Git hooks are less noisy when there is nothing to do. + +**🔧 Fixes** + +- Fix for `include-what-you-use` not running from the correct working directory. +- When running sub-proccesses at a low priority, trunk will now ensure the priority is never raised. +- Ensure environment variables for temporary folders are set for Windows sub-processes. +- Fix for Windows when your repository is not on the C: drive. +- Shell hooks fix for paths with special characters. diff --git a/changelog/2024-01-09-plugins-1-4-2.mdx b/changelog/2024-01-09-plugins-1-4-2.mdx new file mode 100644 index 0000000..a6bd65b --- /dev/null +++ b/changelog/2024-01-09-plugins-1-4-2.mdx @@ -0,0 +1,26 @@ +--- +title: Plugins 1.4.2 +description: "New linter: biome; Parse prettier failure messages into issues." +slug: plugins-1-4-2 +date: 2024-01-09 +category: Code Quality +seo_title: Plugins 1.4.2 +seo_description: New linter for biome and improvements for python, clang-tidy, and more +--- + +**🎁 New** + +- New linter: [`biome`](https://biomejs.dev/linter/) +- Parse prettier failure messages into issues + +**✨ Improvements** + +- Add support for `python@3.11.6` +- Limit default `clang-tidy` concurrency +- Enable batching for more linters +- Add testing for Trunk Actions + +**🔧 Fixes** + +- Fix `run_from` for `include-what-you-use` +- Disable caching for `rustfmt` diff --git a/changelog/2024-01-12-merge-automatic-status-checks.mdx b/changelog/2024-01-12-merge-automatic-status-checks.mdx new file mode 100644 index 0000000..a029c73 --- /dev/null +++ b/changelog/2024-01-12-merge-automatic-status-checks.mdx @@ -0,0 +1,14 @@ +--- +title: "Merge Queue: Automatic status checks" +description: "Trunk Merge Queue now supports automatically setting the required status checks by scanning the GitHub branch protection of the target branch. See Define Required Status For Testing for details." +slug: merge-automatic-status-checks +date: 2024-01-12 +category: Merge Queue +seo_title: Automatic Status Checks +seo_description: Trunk Merge Queue now supports automatic status checks +--- + +Trunk Merge Queue now supports automatically setting the required status checks by scanning the +GitHub branch protection of the target branch. See +[Define Required Status For Testing](https://docs.trunk.io/merge/set-up-trunk-merge#define-required-status-checks-for-testing) +for details. diff --git a/changelog/2024-02-15-cli-1-20-0.mdx b/changelog/2024-02-15-cli-1-20-0.mdx new file mode 100644 index 0000000..6a92a3d --- /dev/null +++ b/changelog/2024-02-15-cli-1-20-0.mdx @@ -0,0 +1,28 @@ +--- +title: CLI 1.20.0 +description: "Trunk actions now support the ${target} substitution in their run command. This will be replaced with all targets that triggered the actions; Trunk actions now support the ${pwd} substitution in…" +slug: cli-1-20-0 +date: 2024-02-15 +category: Code Quality +--- + +**🎁 New** + +- Trunk actions now support the `${target}` substitution in their run command. This will be replaced + with all targets that triggered the actions. +- Trunk actions now support the `${pwd}` substitution in their run_from specification. This will be + replaced with the user's current working directory. +- File ignores can now specify the session type for when it should apply. + +**✨ Improvements** + +- During `trunk init`, the tool will now provide a summary of all issues that currently exist in + your repo. +- `trunk init` now supports the `--allow-existing` flag, to gracefully handle the case where a + repository was already initialized. + +**🔧 Fixes** + +- LSP Server optimizations. +- Trunk will now automatically keep you logged in as you use the tool. +- Fix a bug where batch bisection would not kick in when a linter was killed by a signal. diff --git a/changelog/2024-02-16-plugins-1-4-3.mdx b/changelog/2024-02-16-plugins-1-4-3.mdx new file mode 100644 index 0000000..1333e8e --- /dev/null +++ b/changelog/2024-02-16-plugins-1-4-3.mdx @@ -0,0 +1,19 @@ +--- +title: Plugins 1.4.3 +description: "Add support for Ruff formatting; Add support for commitizen. Thanks @natescherer for the contribution!." +slug: plugins-1-4-3 +date: 2024-02-16 +category: Code Quality +--- + +**🎁 New** + +- Add support for Ruff formatting. +- Add support for commitizen. Thanks @natescherer for the contribution! +- Add support for cmake-format. Thanks @tmpsantos for the contribution! + +**✨ Improvements** + +- Eslint and prettier now operate on `.mjs` files. +- Trunk now auto-detects all stylelint config file names. +- Golangci-lint is now exposed as a tool. diff --git a/changelog/2024-02-20-cli-1-20-1.mdx b/changelog/2024-02-20-cli-1-20-1.mdx new file mode 100644 index 0000000..33bed8e --- /dev/null +++ b/changelog/2024-02-20-cli-1-20-1.mdx @@ -0,0 +1,11 @@ +--- +title: CLI 1.20.1 +description: "Fix a crash in the LSP server." +slug: cli-1-20-1 +date: 2024-02-20 +category: Code Quality +--- + +**🔧 Fixes** + +- Fix a crash in the LSP server. diff --git a/changelog/2024-02-20-merge-support-for-forked-and-open-source-repos.mdx b/changelog/2024-02-20-merge-support-for-forked-and-open-source-repos.mdx new file mode 100644 index 0000000..0ec5df2 --- /dev/null +++ b/changelog/2024-02-20-merge-support-for-forked-and-open-source-repos.mdx @@ -0,0 +1,15 @@ +--- +title: "Merge Queue : Support for forked and open source repos" +description: "Trunk Merge Queue now supports uploading impacted targets from forked PRs, and has more verbose information on PRs for contributors that aren't a part of the same Trunk org." +slug: merge-support-for-forked-and-open-source-repos +date: 2024-02-20 +category: Merge Queue +seo_title: Merge Queue Forked PR support +seo_description: + Trunk Merge Queue has been updated to support forked PRs making it easier for open source + contributors to work with Trunk Merge +--- + +Trunk Merge Queue now supports uploading impacted targets from forked PRs, and has more verbose +information on PRs for contributors that aren't a part of the same Trunk org. This allows Trunk +Merge Queue to work well with open source repos. diff --git a/changelog/2024-02-26-vscode-3-14-0.mdx b/changelog/2024-02-26-vscode-3-14-0.mdx new file mode 100644 index 0000000..17cfae2 --- /dev/null +++ b/changelog/2024-02-26-vscode-3-14-0.mdx @@ -0,0 +1,12 @@ +--- +title: VSCode 3.14.0 +description: "Inline annotation settings changes are now applied dynamically; The extension provides better information to the user if the LSP server fails to launch." +slug: vscode-3-14-0 +date: 2024-02-26 +category: Code Quality +--- + +**✨ Improvements** + +- Inline annotation settings changes are now applied dynamically. +- The extension provides better information to the user if the LSP server fails to launch. diff --git a/changelog/2024-03-01-plugins-1-4-4.mdx b/changelog/2024-03-01-plugins-1-4-4.mdx new file mode 100644 index 0000000..275fdbd --- /dev/null +++ b/changelog/2024-03-01-plugins-1-4-4.mdx @@ -0,0 +1,19 @@ +--- +title: Plugins 1.4.4 +description: "New linter and formatter: psscriptanalyzer. Thanks @natescherer for the contribution!; New tool: kubectl." +slug: plugins-1-4-4 +date: 2024-03-01 +category: Code Quality +--- + +**🎁 New** + +- New linter and formatter: [`psscriptanalyzer`](https://github.com/PowerShell/PSScriptAnalyzer). + Thanks @natescherer for the contribution! +- New tool: `kubectl` +- New tool: `pwsh` + +**✨ Improvements** + +- Update `trunk-toolbox` definition +- Simplify `trunk-check-pre-push-always` to use native invocation diff --git a/changelog/2024-03-06-vscode-3-15-0.mdx b/changelog/2024-03-06-vscode-3-15-0.mdx new file mode 100644 index 0000000..24682c1 --- /dev/null +++ b/changelog/2024-03-06-vscode-3-15-0.mdx @@ -0,0 +1,11 @@ +--- +title: VSCode 3.15.0 +description: "Fix occasional flakiness on extension startup." +slug: vscode-3-15-0 +date: 2024-03-06 +category: Code Quality +--- + +**🔧 Fixes** + +- Fix occasional flakiness on extension startup. diff --git a/changelog/2024-03-13-cli-1-21-0.mdx b/changelog/2024-03-13-cli-1-21-0.mdx new file mode 100644 index 0000000..a575c16 --- /dev/null +++ b/changelog/2024-03-13-cli-1-21-0.mdx @@ -0,0 +1,25 @@ +--- +title: CLI 1.21.0 +description: "Added support for --color=false to disable color output in the CLI." +slug: cli-1-21-0 +date: 2024-03-13 +category: Code Quality +--- + +**🎁 New** + +- Added support for \`--color=false\` to disable color output in the CLI. + +Add experimental support for the new +[upstream_mode](https://docs.trunk.io/check/configuration/custom-linters/reference/lint-config#upstream_mode) +option to better support tools that don't work well with symlinked files. + +**✨ Improvements** + +- Don't exit with status 1 if Trunk fails to post annotations to GitHub. +- Improve check output when \`--ci\` is specified. + +**🔧 Fixes** + +- Npm package installs are now correctly passed environment variables. +- Fix a rare crash when a large number of files are ignored in `trunk.yaml`. diff --git a/changelog/2024-03-15-trunk-merge-pr-prioritization.mdx b/changelog/2024-03-15-trunk-merge-pr-prioritization.mdx new file mode 100644 index 0000000..c6f3c24 --- /dev/null +++ b/changelog/2024-03-15-trunk-merge-pr-prioritization.mdx @@ -0,0 +1,15 @@ +--- +title: "Merge Queue: PR prioritization" +description: "Support for setting the priority of a pull request from the command line or a GitHub comment. Higher priority PRs will move ahead of lower priority PRs. See PR Prioritization docs for more details." +slug: trunk-merge-pr-prioritization +date: 2024-03-15 +category: Merge Queue +seo_title: PR Prioritization +seo_description: + Trunk Merge Queue now supports setting a priority on PRs so they can zoom ahead through your merge + queue. +--- + +Support for setting the priority of a pull request from the command line or a GitHub comment. Higher +priority PRs will move ahead of lower priority PRs. See +[PR Prioritization docs](https://docs.trunk.io/merge/pr-prioritization) for more details. diff --git a/changelog/2024-03-18-plugins-1-4-5.mdx b/changelog/2024-03-18-plugins-1-4-5.mdx new file mode 100644 index 0000000..027cab7 --- /dev/null +++ b/changelog/2024-03-18-plugins-1-4-5.mdx @@ -0,0 +1,24 @@ +--- +title: Plugins 1.4.5 +description: "New linter/formatter: dart; New linter: regal." +slug: plugins-1-4-5 +date: 2024-03-18 +category: Code Quality +--- + +**🎁 New** + +- New linter/formatter: [`dart`](https://dart.dev/tools/dart-tool) +- New linter: [`regal`](https://github.com/StyraInc/regal#readme) +- New formatter: [`opa`](https://www.openpolicyagent.org/docs/latest/cli/#opa-fmt) + +**✨ Improvements** + +- Simplify `markdownlint` default config file +- Support `sqlfluff@>=3.0.0` +- Support `python@3.12.2` + +**🔧 Fixes** + +- Fix package name in messages from `osv-scanner` +- Update `prettier` parsing to respect syntax errors in whole output diff --git a/changelog/2024-03-29-optimistic-merging-and-pending-failure-depth.mdx b/changelog/2024-03-29-optimistic-merging-and-pending-failure-depth.mdx new file mode 100644 index 0000000..bcca268 --- /dev/null +++ b/changelog/2024-03-29-optimistic-merging-and-pending-failure-depth.mdx @@ -0,0 +1,14 @@ +--- +title: "Merge Queue: Optimistic merging and pending failure depth" +description: "Merge Queue now supports Optimistic Merging to allow failed tests to be merged if later PRs pass. Merge Queue also now supports Pending Failure Depth to allow failed tests to remain in the queue for…" +slug: optimistic-merging-and-pending-failure-depth +date: 2024-03-29 +category: Merge Queue +seo_title: Optimistic Merging and Pending Failure Depth +seo_description: Trunk Merge Queue support for faster ways to process PRs +--- + +Merge Queue now supports _Optimistic Merging_ to allow failed tests to be merged if later PRs pass. +Merge Queue also now supports _Pending Failure Depth_ to allow failed tests to remain in the queue +for longer. Combined these features can increase queue throughput and reduce latency. See +[Optimistic Merging](https://docs.trunk.io/merge/optimistic-merging) for more details. diff --git a/changelog/2024-04-05-merge-batching-support.mdx b/changelog/2024-04-05-merge-batching-support.mdx new file mode 100644 index 0000000..771f4aa --- /dev/null +++ b/changelog/2024-04-05-merge-batching-support.mdx @@ -0,0 +1,12 @@ +--- +title: "Merge Queue: Batching support" +description: "Trunk Merge Queue now supports grouping PRs into batches for greater throughput. See Batching docs for more details." +slug: merge-batching-support +date: 2024-04-05 +category: Merge Queue +seo_title: Merge Queue Batching Support +seo_description: Trunk Merge Queue now supports grouping PRs into batches for greater throughput. +--- + +Trunk Merge Queue now supports grouping PRs into batches for greater throughput. See +[Batching docs](https://docs.trunk.io/merge/batching) for more details. diff --git a/changelog/2024-04-05-merge-web-hook-support.mdx b/changelog/2024-04-05-merge-web-hook-support.mdx new file mode 100644 index 0000000..9a01135 --- /dev/null +++ b/changelog/2024-04-05-merge-web-hook-support.mdx @@ -0,0 +1,13 @@ +--- +title: "Merge Queue: Webhook support" +description: "Trunk Merge Queue now supports webhooks to provide realtime events to integrated platforms. See the Webhooks API doc for more details." +slug: merge-web-hook-support +date: 2024-04-05 +category: Merge Queue +seo_title: Merge Queue Webhook support +seo_description: + Trunk Merge Queue now supports webhooks to provide realtime events to integrated platforms. +--- + +Trunk Merge Queue now supports webhooks to provide realtime events to integrated platforms. See the +[Webhooks API doc](https://docs.trunk.io/apis/webhooks) for more details. diff --git a/changelog/2024-04-23-cli-1-22-0.mdx b/changelog/2024-04-23-cli-1-22-0.mdx new file mode 100644 index 0000000..d8432ee --- /dev/null +++ b/changelog/2024-04-23-cli-1-22-0.mdx @@ -0,0 +1,20 @@ +--- +title: CLI 1.22.0 +description: "Many optimizations to make trunk faster in very large repositories; Improved error reporting for failed upstream detection." +slug: cli-1-22-0 +date: 2024-04-23 +category: Code Quality +--- + +**✨ Improvements** + +- Many optimizations to make trunk faster in very large repositories. +- Improved error reporting for failed upstream detection. +- Add support for git repositories using the \`skipHash\` option. +- Trunk Action execution now respects the order in which they are enabled. +- Added LSP capabilities to support client implementations. + +**🔧 Fixes** + +- Numerous Windows fixes. +- Various LSP fixes. diff --git a/changelog/2024-04-23-vscode-3-16-0.mdx b/changelog/2024-04-23-vscode-3-16-0.mdx new file mode 100644 index 0000000..a16d784 --- /dev/null +++ b/changelog/2024-04-23-vscode-3-16-0.mdx @@ -0,0 +1,12 @@ +--- +title: VSCode 3.16.0 +description: "The extension is more robust to reloads on upgrade; The extension provides error messages if the trunk version is invalid." +slug: vscode-3-16-0 +date: 2024-04-23 +category: Code Quality +--- + +**✨ Improvements** + +- The extension is more robust to reloads on upgrade. +- The extension provides error messages if the trunk version is invalid. diff --git a/changelog/2024-04-24-plugins-1-5-0.mdx b/changelog/2024-04-24-plugins-1-5-0.mdx new file mode 100644 index 0000000..f825cec --- /dev/null +++ b/changelog/2024-04-24-plugins-1-5-0.mdx @@ -0,0 +1,42 @@ +--- +title: Plugins 1.5.0 +description: "New runtime: php; New linter and tool: tofu." +slug: plugins-1-5-0 +date: 2024-04-24 +category: Code Quality +--- + +**🎁 New** + +- New runtime: `php` +- New linter and tool: [tofu](https://opentofu.org/) +- New linter: [phpstan](https://phpstan.org/) +- New [Poetry](https://github.com/trunk-io/plugins/blob/main/actions/poetry/README.md) git-hook + actions +- New tool: [difft](https://github.com/Wilfred/difftastic#readme) +- New tool: [yq](https://github.com/mikefarah/yq#readme) +- New tool: [goreleaser](https://github.com/goreleaser/goreleaser#readme). + Thanks @matthewbaggett for the contribution! + +**✨ Improvements** + +- Breaking change: Update + default `commitlint` to `v19` ([updated guide](https://github.com/trunk-io/plugins/blob/main/actions/commitlint/README.md)). + Thanks @rriski for the contribution! +- Fixes for `trufflehog` and `buildifier` +- Don't run `clang-tidy` from LSP by default +- Run `ruff` on `python-interface` files +- Run `prettier` on `postcss` files +- Run `clang-format` on `cuda` files +- Upgrade `ruby-build` +- Don't recommend `terrascan` by default. Thanks @yu-iskw for the contribution! +- Add descriptions for each linter + +**🔧 Fixes** + +- Add support for `pmd@7.0.0` +- Support React-style comments in JSX/TSX files + +**Note: We do not yet officially support** **`eslint@9.x`\*\***. If you want to start using it, see +our** [**migration +guide**](https://github.com/trunk-io/plugins/blob/main/linters/eslint/README.md)**.\*\* diff --git a/changelog/2024-04-29-vscode-3-17-0.mdx b/changelog/2024-04-29-vscode-3-17-0.mdx new file mode 100644 index 0000000..b8f4655 --- /dev/null +++ b/changelog/2024-04-29-vscode-3-17-0.mdx @@ -0,0 +1,15 @@ +--- +title: VSCode 3.17.0 +description: "The extension now has Trunk account integration." +slug: vscode-3-17-0 +date: 2024-04-29 +category: Code Quality +--- + +**🎁 New** + +- The extension now has Trunk account integration. + +**✨ Improvements** + +- Improves stability on extension reload. diff --git a/changelog/2024-05-02-vscode-3-18-0.mdx b/changelog/2024-05-02-vscode-3-18-0.mdx new file mode 100644 index 0000000..d068982 --- /dev/null +++ b/changelog/2024-05-02-vscode-3-18-0.mdx @@ -0,0 +1,11 @@ +--- +title: VSCode 3.18.0 +description: "The extension now has an installed/recommended view for linters and plugins." +slug: vscode-3-18-0 +date: 2024-05-02 +category: Code Quality +--- + +**🎁 New** + +- The extension now has an installed/recommended view for linters and plugins. diff --git a/changelog/2024-05-07-cli-1-22-1.mdx b/changelog/2024-05-07-cli-1-22-1.mdx new file mode 100644 index 0000000..b56cf93 --- /dev/null +++ b/changelog/2024-05-07-cli-1-22-1.mdx @@ -0,0 +1,28 @@ +--- +title: CLI 1.22.1 +description: "Added a new severity level, note, which is not blocking by default; Trunk can now upload issues to our web app without requiring our GitHub app to be installed." +slug: cli-1-22-1 +date: 2024-05-07 +category: Code Quality +--- + +**🎁 New** + +- Added a new severity level, `note`, which is not blocking by default. +- Trunk can now upload issues to our web app without requiring our GitHub app to be installed. + +**✨ Improvements** + +- Trunk now provides more informative text for many commands. +- Trunk will now attempt to repair symlinks in the `.trunk` directory on startup. +- Added support for gzipped executables via the `rename_single_file` option. + [Learn more](https://docs.trunk.io/check/advanced-setup/tools/configuration#download-fields). + +**🔧 Fixes** + +- Fixed an off-by-one error in the LSP server when a file did not end with a newline. +- Addressed several edge cases where Trunk would incorrectly complain that a `trunk-ignore` was not + suppressing an issue. +- A `trunk-ignore` that is not suppressing a lint issue is now assigned `note` severity and is not + blocking by default. +- Fixed an edge case involving `golangci-lint` and Trunk's sandboxing. diff --git a/changelog/2024-05-17-first-class-support-for-trunk-merge-queue-nx.mdx b/changelog/2024-05-17-first-class-support-for-trunk-merge-queue-nx.mdx new file mode 100644 index 0000000..9dcab91 --- /dev/null +++ b/changelog/2024-05-17-first-class-support-for-trunk-merge-queue-nx.mdx @@ -0,0 +1,31 @@ +--- +title: "Merge Queue: First class Nx support" +description: "Trunk Merge Queue, through its Parallel Queues feature, can dynamically create new merge queues to test only the pull requests with potential conflicts together." +slug: first-class-support-for-trunk-merge-queue-nx +date: 2024-05-17 +category: Merge Queue +seo_title: "Merge Queue: First Class Nx Support | Trunk Changelog" +seo_description: Trunk adds first-class, out-of-the-box support for Nx repos. +seo_image: /assets/changelog/first-class-support-for-trunk-merge-queue-nx-seo.jpg +--- + +Trunk Merge Queue, through its [Parallel Queues](https://docs.trunk.io/merge-queue/parallel-queues) +feature, can dynamically create new merge queues to test only the pull requests with potential +conflicts together. While Parallel Mode can be used by any repo, we provide an easy way to +[start using Parallel Queues on Bazel repos through our GitHub action](https://docs.trunk.io/merge-queue/parallel-queues/bazel), +requiring practically no setup. + +Today, we’re providing even more first-class support for parallel queues with the release of our +[GitHub Action for Nx repos using Parallel Queues](https://docs.trunk.io/merge-queue/parallel-queues/nx). +Now, enjoying the benefits of using Parallel Merge Queues is easier than before on your Nx repos - +you set up the GitHub action, and Trunk takes care of pulling the relevant information out of your +PRs, making sure it only tests the pull requests that actually have a chance of breaking each other +together. Power like this allows your merge queue to continue to scale effortlessly, preventing +needlessly long lines of pull requests waiting to get tested and merged. + +Not using Nx or Bazel? You can still get started with Parallel Queues by using our +[Public API](https://docs.trunk.io/apis/merge)! The majority of build tools like Nx and Bazel make +it easy to pull out information on what sections of code your PRs is impacting - for more guidance +with this, [reach out in our community slack](http://trunkcommunity.slack.com). More GitHub actions +supporting other tools like Turborepo are coming soon to continue to make parallel queues as easy to +leverage as possible for any build tool. diff --git a/changelog/2024-05-26-testing-using-draft-prs.mdx b/changelog/2024-05-26-testing-using-draft-prs.mdx new file mode 100644 index 0000000..1d4d523 --- /dev/null +++ b/changelog/2024-05-26-testing-using-draft-prs.mdx @@ -0,0 +1,43 @@ +--- +title: "Merge Queue: Draft PR support" +description: "Trunk Merge Queue, by default, will now raise draft pull requests in order to test changes submitted to the merge queue! Trunk Merge Queue is now even easier to get started with and no longer…" +slug: testing-using-draft-prs +date: 2024-05-26 +category: Merge Queue +--- + +Trunk Merge Queue, by default, will now raise draft pull requests in order to test changes submitted +to the merge queue! Trunk Merge Queue is now even easier to get started with and no longer requires +any setup - simply +[create a Merge Queue](https://docs.trunk.io/merge-queue/set-up-trunk-merge#connect-your-trunk-organization-to-github), +[submit a pull request](https://docs.trunk.io/merge-queue/set-up-trunk-merge#submit-pull-requests), +and +[watch it get tested and merged](https://docs.trunk.io/merge-queue/set-up-trunk-merge#pull-request-processing). + +![](/assets/changelog/testing-using-draft-prs-z4rslv.png) + +Testing pull requests in the Merge Queue by raising draft PRs is especially useful since Trunk Merge +Queue +[automatically syncs with your branch protection settings on GitHub](https://docs.trunk.io/merge-queue/set-up-trunk-merge#testing-prs-in-the-queue). +This means Trunk Merge Queue will use the same set of tests you configured on your GitHub Status +Checks, keeping things simple and consistent. + +Previously, Trunk Merge Queue would create an isolated branch containing the tip of main, the +current changes in your pull request, and changes of all the PRs in front of this one in the queue. +Developers would have to merge code changes to configure specifically what tests get triggered when +we begin testing a PR. + +This has its own benefits, but it requires configuring a custom GitHub Action Workflow, which can be +very involved. + +``` +on: + push: + branches: + - trunk-merge/** +``` + +Now, you can get started with Trunk Merge Queue right away! +[This setting is also configurable](https://docs.trunk.io/merge-queue/set-up-trunk-merge/advanced-settings#draft-prs), +so you can always have Trunk Merge Queue create a branch instead if you wish to have more control +over testing PRs in the merge queue. diff --git a/changelog/2024-06-11-cli-1-22-2.mdx b/changelog/2024-06-11-cli-1-22-2.mdx new file mode 100644 index 0000000..5e081d0 --- /dev/null +++ b/changelog/2024-06-11-cli-1-22-2.mdx @@ -0,0 +1,25 @@ +--- +title: CLI 1.22.2 +description: "Add an option to skip files that are missing compile commands." +slug: cli-1-22-2 +date: 2024-06-11 +category: Code Quality +--- + +**🎁 New** + +- Add an option to + [skip](https://docs.trunk.io/check/configuration/custom-linters/reference/lint-config#skip_missing_compile_commandhttps://docs.trunk.io/check/configuration/custom-linters/reference/lint-config#skip_missing_compile_command) + files that are missing compile commands. + +**✨ Improvements** + +- Trunk will now automatically cleanup downloads that have not been used in awhile. +- Trunk will now enable eslint version >= 9 if you use the new style config files. +- Trunk now + [allows](https://docs.trunk.io/check/configuration/custom-linters/reference/lint-config#enabled) + running node based tools from `node_modules/.bin` instead of hermetically managed. + +**🔧 Fixes** + +- Fix Ruby installation on some machines. diff --git a/changelog/2024-06-11-plugins-1-6-0.mdx b/changelog/2024-06-11-plugins-1-6-0.mdx new file mode 100644 index 0000000..e346e07 --- /dev/null +++ b/changelog/2024-06-11-plugins-1-6-0.mdx @@ -0,0 +1,32 @@ +--- +title: Plugins 1.6.0 +description: "New linter Vale. Thanks @gewenyu99 for the contribution!; New formatter php-cs-fixer. Thanks @matthewbaggett for the contribution!." +slug: plugins-1-6-0 +date: 2024-06-11 +category: Code Quality +--- + +**🎁 New** + +- New linter [Vale](https://vale.sh/). Thanks @gewenyu99 for the contribution! +- New formatter [php-cs-fixer](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer#readme). Thanks + @matthewbaggett for the contribution! +- New tools [phpunit](https://phpunit.de/index.html) and + [paratest](https://github.com/paratestphp/paratest#readme). Thanks @matthewbaggett for the + contribution! +- New tool `docker-credential-ecr-login` + +**✨ Improvements** + +- Official support for `eslint@9.x`. For more information, see our + [migration guide](https://github.com/trunk-io/plugins/blob/main/linters/eslint/README.md). +- Add missing health checks for several tools +- Fix error handling for `biome fmt` +- Cleanup contributing and style guide +- More concise `bazel` filetypes + +**🔧 Fixes** + +- Support more ruby version formats +- Pin versions for `npm-check-pre-push` action +- Fix parsing of `trivy` terraform issues diff --git a/changelog/2024-06-28-test-analytics-beta-ux-improvements-dashboard-test-details.mdx b/changelog/2024-06-28-test-analytics-beta-ux-improvements-dashboard-test-details.mdx new file mode 100644 index 0000000..1719e3c --- /dev/null +++ b/changelog/2024-06-28-test-analytics-beta-ux-improvements-dashboard-test-details.mdx @@ -0,0 +1,34 @@ +--- +title: "Flaky Tests: UX improvements" +description: "We are rolling out substantial UX improvements to the dashboard and detail views. These enhancements provide users with quick and easy access to critical information." +slug: test-analytics-beta-ux-improvements-dashboard-test-details +date: 2024-06-28 +category: Flaky Tests +--- + +We are rolling out substantial UX improvements to the dashboard and detail views. These enhancements +provide users with quick and easy access to critical information. + +#### Quickly assess flaky test impact + +![](/assets/changelog/test-analytics-beta-ux-improvements-dashboard-test-details-9b12xv.png) + +We updated the key metrics managers and engineers are looking at to assess the impact of flaky tests +on their organization. Users can see PRs impacted and the failure rate for the selected repository, +including trends. + +We also learned from previous research that users want to see insights more relevant to them. To +support that, we've rolled out features to select the date range (1 day, 7 days, or 14 weeks), +filter tests by teams, and drill down even further through test search. + +#### Quicker access to key test details + +![](/assets/changelog/test-analytics-beta-ux-improvements-dashboard-test-details-set3ys.png) + +Engineers need to quickly get the information needed to verify a flaky test, troubleshoot it, and +deploy a fix. To support that, we rolled out a slew of improvements to the test details view. + +Users can now effortlessly access the test owner, filepath, links to CI runs, and more. +Additionally, the inclusion of common failure reasons and tracelogs allows for a deeper +understanding of recurring issues, supporting prioritization of the most common issues and +facilitating quicker resolutions. diff --git a/changelog/2024-07-10-trunk-merge-queue-public-api-updated.mdx b/changelog/2024-07-10-trunk-merge-queue-public-api-updated.mdx new file mode 100644 index 0000000..3157433 --- /dev/null +++ b/changelog/2024-07-10-trunk-merge-queue-public-api-updated.mdx @@ -0,0 +1,22 @@ +--- +title: "Merge Queue: API updates" +description: "Trunk Merge Queue has added more functionality to its public API, allowing it to fit seamlessly into any integration." +slug: trunk-merge-queue-public-api-updated +date: 2024-07-10 +category: Merge Queue +--- + +Trunk Merge Queue has added more functionality to its +[public API](https://docs.trunk.io/apis/merge), allowing it to fit seamlessly into any integration. +When you need to build custom integrations, Trunk Merge Queue can support it through its public API +and [webhooks](https://docs.trunk.io/apis/webhooks). + +Currently, Trunk Merge Queue supports the following actions through our public API: + +- Submitting or resubmitting a PR to the merge queue +- Removing a PR from the queue +- Restarting tests on a PR in the queue that has failed +- Getting current information on the PR and its status in the merge queue + +Have a unique use case these APIs or webhooks do not cover? Let the team know in our +[community slack](https://trunkcommunity.slack.com/)! diff --git a/changelog/2024-07-15-test-analytics-beta-issue-handling-mvp-copy-issue-details.mdx b/changelog/2024-07-15-test-analytics-beta-issue-handling-mvp-copy-issue-details.mdx new file mode 100644 index 0000000..de15630 --- /dev/null +++ b/changelog/2024-07-15-test-analytics-beta-issue-handling-mvp-copy-issue-details.mdx @@ -0,0 +1,21 @@ +--- +title: "Flaky Tests: Issue handling MVP" +description: "Today, we are releasing our first feature to support issue handling related to flaky tests. This MVP feature is designed to streamline reporting and managing flaky tests, saving valuable time and…" +slug: test-analytics-beta-issue-handling-mvp-copy-issue-details +date: 2024-07-15 +category: Flaky Tests +--- + +Today, we are releasing our first feature to support issue handling related to flaky tests. This MVP +feature is designed to streamline reporting and managing flaky tests, saving valuable time and +effort. + +With this new feature, you can copy the issue title and content generated by Test Analytics, +reducing the time needed to gather all necessary information. The auto-generated content includes +test filepaths, owners, the time the test turned flaky, the most common failure reasons, and their +stack traces. + +From the issue handling interface, you can quickly copy detailed issue reports and paste them into +your preferred issue tracking system. This automation ensures that all relevant information is +accurately captured, facilitating more effective communication and faster resolution of flaky test +issues. diff --git a/changelog/2024-07-16-plugins-1-6-1.mdx b/changelog/2024-07-16-plugins-1-6-1.mdx new file mode 100644 index 0000000..3e8b1b0 --- /dev/null +++ b/changelog/2024-07-16-plugins-1-6-1.mdx @@ -0,0 +1,19 @@ +--- +title: Plugins 1.6.1 +description: "Support additional osv-scanner lockfile types; Added tfvars filetype." +slug: plugins-1-6-1 +date: 2024-07-16 +category: Code Quality +--- + +**✨ Improvements** + +- Support additional `osv-scanner` lockfile types +- Added `tfvars` filetype +- Added `svelte` filetype + +**🔧 Fixes** + +- Fix `vale` to run correctly on Windows +- Fix `ruff-nbqa` to work on newer versions +- Fix `sqlfluff` fix command to not fail in nonformattable cases diff --git a/changelog/2024-07-17-trunk-merge-queue-metrics-dashboard.mdx b/changelog/2024-07-17-trunk-merge-queue-metrics-dashboard.mdx new file mode 100644 index 0000000..66ca54b --- /dev/null +++ b/changelog/2024-07-17-trunk-merge-queue-metrics-dashboard.mdx @@ -0,0 +1,44 @@ +--- +title: "Merge Queue: New metrics dashboard" +description: "Merge queues are integral to validating and merging PRs - a critical part of any development process. Minimizing the friction to merge a PR and ensuring the merging process remains fast is essential…" +slug: trunk-merge-queue-metrics-dashboard +date: 2024-07-17 +category: Merge Queue +--- + +Merge queues are integral to validating and merging PRs - a critical part of any development +process. Minimizing the friction to merge a PR and ensuring the merging process remains fast is +essential to remaining productive and shipping code faster. + +Gaining an analytical understanding of how PRs are moving through the merge queue, how much CI time +it takes to test PRs in the queue, why PRs are frequently failing during testing, and so on, can +help developers recognize the impact and problems of their merge process. + +Today, Trunk Merge Queues introduces a metric dashboard focused on Merge Queue health and +efficiency. Merge Queue has many features and settings, such as +[batching](https://docs.trunk.io/merge-queue/batching) and +[changing how many PRs can get tested at once](https://docs.trunk.io/merge-queue/set-up-trunk-merge/advanced-settings#concurrency), +which can affect the throughput and speed of your queue - these metrics help you validate your +decisions when optimizing your queue’s configuration. + +1. “Time in Queue” - how long a pull spends in the queue from when it enters the queue to when it + leaves, whether it fails or succeeds. +2. “Conclusion Counts” - the count of successfully tested and merged PRs, failures in the queue, or + cancellations. A large amount of failures or sudden changes in the number of merged or failed + PRs can indicate a problem that needs investigating. +3. “CI Time Testing PRs in the Queue” - how much time is spent in your CI pipelines testing PRs in + the queue. A spike in this metric indicates that tests are now taking much longer to run. + 1. If you’re currently utilizing batching, this feature considers that all of the PRs in a + batch will be tested by the same CI run + +4. “CI Jobs Triggered To Test PRs” - how many jobs are getting kicked off to test pull requests in + the queue. Each job required a machine to run on - the more jobs there are, the higher the + contention for machines and the longer it takes to test PRs + +Currently, both CI metrics work specifically for GitHub actions or any workflows you’re +[pushing data to CI analytics for](https://docs.trunk.io/ci-analytics/setup).   + +![](/assets/changelog/trunk-merge-queue-metrics-dashboard-dvsgg7.png) + +More metrics are being planned for the future! If you have any suggestions or questions, head over +to our [community slack](http://trunkcommunity.slack.com). diff --git a/changelog/2024-08-06-web-app-light-mode-support.mdx b/changelog/2024-08-06-web-app-light-mode-support.mdx new file mode 100644 index 0000000..a297017 --- /dev/null +++ b/changelog/2024-08-06-web-app-light-mode-support.mdx @@ -0,0 +1,16 @@ +--- +title: "Web App: Light mode support" +description: "Trunk Web App now supports both light and dark mode." +slug: web-app-light-mode-support +date: 2024-08-06 +category: Web App +seo_title: Light mode support introduced | Trunk Changelog +seo_description: Trunk Web App now supports light mode. +seo_image: /assets/changelog/web-app-light-mode-support-seo.png +--- + +Trunk Web App now supports both light and dark mode. + +You can enable light mode by navigating to **Settings** > **Appearance** > **Color Theme**. + +![](/assets/changelog/web-app-light-mode-support-pnz6w9.png) diff --git a/changelog/2024-08-15-cli-1-22-3.mdx b/changelog/2024-08-15-cli-1-22-3.mdx new file mode 100644 index 0000000..1b281d2 --- /dev/null +++ b/changelog/2024-08-15-cli-1-22-3.mdx @@ -0,0 +1,28 @@ +--- +title: CLI 1.22.3 +description: "Add a linter definition field [](https://docs.trunk.io/code-quality/configuration/integrating-linters/reference/linter-definition#verbatimmessage)for a linter to have multi-line messages; Allow…" +slug: cli-1-22-3 +date: 2024-08-15 +category: Code Quality +--- + +**🎁 New** + +- Add a + [linter definition field](https://docs.trunk.io/cli/configuration/lint/definitions#verbatim_message) + [](https://docs.trunk.io/code-quality/configuration/integrating-linters/reference/linter-definition#verbatim_message)for + a linter to have multi-line messages. +- Allow [specifying](https://docs.trunk.io/cli/configuration#trunk_remote_hint) a hint so that Trunk + can identify an upstream remote to use other than origin. + +**✨ Improvements** + +- Improved output for Markdownlint messages. +- Improved output for the trunk git hooks. +- Improved output for trunk when run via a git hook inside VSCode. +- Reduced memory usage. +- Remove some overly verbose logging. + +**🔧 Fixes** + +- Fix a rare instance where a linter can hang without timing out. diff --git a/changelog/2024-08-20-plugins-1-6-2.mdx b/changelog/2024-08-20-plugins-1-6-2.mdx new file mode 100644 index 0000000..57134de --- /dev/null +++ b/changelog/2024-08-20-plugins-1-6-2.mdx @@ -0,0 +1,16 @@ +--- +title: Plugins 1.6.2 +description: "ruff@>=0.6.0 now runs on Jupyter notebooks by default" +slug: plugins-1-6-2 +date: 2024-08-20 +category: Code Quality +--- + +**✨ Improvements** + +- `ruff@>=0.6.0` now runs on Jupyter notebooks by default + +**🔧 Fixes** + +- Fix definition for `textproto` filetype +- Fix `trivy` config files, and don't recommend by default diff --git a/changelog/2024-08-27-flaky-tests-jira-integration.mdx b/changelog/2024-08-27-flaky-tests-jira-integration.mdx new file mode 100644 index 0000000..3ce6e83 --- /dev/null +++ b/changelog/2024-08-27-flaky-tests-jira-integration.mdx @@ -0,0 +1,35 @@ +--- +title: "Flaky Tests: Jira Integration" +description: "We’re excited to announce the latest enhancement: Jira integration for managing flaky tests. This update builds on our MVP by streamlining the issue management process within Jira." +slug: flaky-tests-jira-integration +date: 2024-08-27 +category: Flaky Tests +seo_title: "Flaky Tests: Jira Integration | Trunk Changelog" +seo_description: + Jira integration for managing flaky tests. Automate the issue-creating workflow by integrating + directly with Jira. +seo_image: /assets/changelog/flaky-tests-jira-integration-seo.svg +--- + +We’re excited to announce the latest enhancement: Jira integration for managing flaky tests. This +update +[builds on our MVP](https://trunk.io/changelog/test-analytics-beta-issue-handling-mvp-copy-issue-details) +by streamlining the issue management process within Jira. + +With this release, we’re introducing key features designed to simplify and enhance your workflow: + +- **Create Jira Issues with One Click:** Generate Jira issues directly from the dashboard or test + details view. After a quick setup, a single click creates the issue, saving you time and effort. +- **Customize Issue Defaults:** Set up default issue types and labels to match your workflow. This + ensures that every issue you create aligns with your process. +- **Track Issue Updates:** Monitor the status of your Jira issues with ease. A new column on the + dashboard shows the current issue status, while the test details page displays status changes in + the timeline. These updates help confirm if an issue completion has resolved the flaky test. +- **Review Work Progress:** Use the new tracking features to review progress and identify trends. + Filter by status to pinpoint flaky tests that need attention and assess their impact on your team. + +#### **Get Started Today** + +Start the process by clicking "Create Issue" on the dashboard and follow the prompts to link your +Jira account with your Jira instance URL, username, and +[Personal Access Token](https://confluence.atlassian.com/enterprise/using-personal-access-tokens-1026032365.html). diff --git a/changelog/2024-09-04-cli-1-22-5.mdx b/changelog/2024-09-04-cli-1-22-5.mdx new file mode 100644 index 0000000..e7dd7d0 --- /dev/null +++ b/changelog/2024-09-04-cli-1-22-5.mdx @@ -0,0 +1,18 @@ +--- +title: CLI 1.22.5 +description: "Help text improvements; trunk fmt will now use configured verbs when presenting results to the user." +slug: cli-1-22-5 +date: 2024-09-04 +category: Code Quality +--- + +**✨ Improvements** + +- Help text improvements. +- `trunk fmt` will now use configured verbs when presenting results to the user. + +**🔧 Fixes** + +- Fix a crash in the LSP server when giving diagnostics for empty files. +- Trunk no longer erroneously follows symlinks to directories when watching the filesystem on Linux, + saving on resources. diff --git a/changelog/2024-09-30-cli-1-22-6.mdx b/changelog/2024-09-30-cli-1-22-6.mdx new file mode 100644 index 0000000..e0ddda0 --- /dev/null +++ b/changelog/2024-09-30-cli-1-22-6.mdx @@ -0,0 +1,11 @@ +--- +title: CLI 1.22.6 +description: "Fix a rare deadlock that could cause a linter execution to hang indefinitely." +slug: cli-1-22-6 +date: 2024-09-30 +category: Code Quality +--- + +**🔧 Fixes** + +- Fix a rare deadlock that could cause a linter execution to hang indefinitely. diff --git a/changelog/2024-09-30-plugins-1-6-3.mdx b/changelog/2024-09-30-plugins-1-6-3.mdx new file mode 100644 index 0000000..1b7da44 --- /dev/null +++ b/changelog/2024-09-30-plugins-1-6-3.mdx @@ -0,0 +1,17 @@ +--- +title: Plugins 1.6.3 +description: "🎁 New" +slug: plugins-1-6-3 +date: 2024-09-30 +category: Code Quality +--- + +🎁 New + +- New linter: squawk +- New linter: markdownlint-cli2 +- New tool: dbt-cli + +🔧 Fixes + +- Disable incorrect caching for pyright diff --git a/changelog/2024-10-14-flaky-tests-quarantining.mdx b/changelog/2024-10-14-flaky-tests-quarantining.mdx new file mode 100644 index 0000000..25e4a9c --- /dev/null +++ b/changelog/2024-10-14-flaky-tests-quarantining.mdx @@ -0,0 +1,55 @@ +--- +title: "Flaky Tests: Quarantining" +description: "We’re excited to provide a new way for you to mitigate the negative impact of flaky tests in your repo through quarantining." +slug: flaky-tests-quarantining +date: 2024-10-14 +category: Flaky Tests +seo_description: + We’re excited to provide a new way for you to mitigate the impact of flaky tests in your repo + through quarantining. +--- + +We’re excited to provide a new way for you to mitigate the negative impact of flaky tests in your +repo through **quarantining**.  + +Quarantining lets you isolate failures for known flaky tests so they don't fail your CI jobs while +still continuing to run them. It looks for known flaky tests and determines which tests should be +isolated at runtime, avoiding the code changes usually required to disable flaky tests. + +Running flaky tests without disabling them lets you validate your fixes by continuously monitoring +their results. This is especially important because +[most attempted fixes for flaky tests don’t reduce the test’s flakiness](https://dl.acm.org/doi/abs/10.1145/3377811.3381749). + +### Enabling Quarantining + +We’re currently onboarding organizations to try quarantining manually. This is because quarantining +can drastically impact the results of your CI jobs. We want to help you validate quarantining +results and educate your team on its behavior during onboarding. To try Quarantining, +[reach out to us on Slack](https://slack.trunk.io/). + +### Quarantining Features + +![](/assets/changelog/flaky-tests-quarantining-xnesjq.png) + +**Key Impact Metrics:** You can see the impact of quarantining on your repo. Understand how many CI +jobs with flaky failures were rescued by quarantining and how many engineering hours were saved. + +![](/assets/changelog/flaky-tests-quarantining-h4x866.png) + +**Keep track of quarantined tests**: You can continue to monitor the results of quarantined flaky +tests through the PR Tests Summaries generated by Trunk. You can filter failures by quarantined runs +and see the failure reasons at a glance. + +![](/assets/changelog/flaky-tests-quarantining-c4iv0t.png) + +**Per test overrides:** You can override quarantining for individual tests in your repo to always +quarantine or never quarantine. This helps you handle edge cases such as tests that should never +break or tests that are flaky/broken due to reasons outside your team’s control, like external APIs +being down. + +![](/assets/changelog/flaky-tests-quarantining-ibg5zb.png) + +**Detailed audit trails**: You can see the audit trail of quarantine setting changes in both the +test’s status history and an overall audit trail in the settings. + +Learn more in the [Quarantining documentation](https://docs.trunk.io/flaky-tests/quarantining). diff --git a/changelog/2024-10-15-plugins-1-6-4.mdx b/changelog/2024-10-15-plugins-1-6-4.mdx new file mode 100644 index 0000000..5b49431 --- /dev/null +++ b/changelog/2024-10-15-plugins-1-6-4.mdx @@ -0,0 +1,21 @@ +--- +title: Plugins 1.6.4 +description: "🎁 New" +slug: plugins-1-6-4 +date: 2024-10-15 +category: Code Quality +--- + +🎁 New + +- New tool: [grpcui](https://github.com/fullstorydev/grpcui). Can be used like Postman to explore + gRPC servers with a web UI, learn + about [running tools here](https://docs.trunk.io/cli/getting-started/tools). + +✨ Improvements + +- Add download for `python@3.11.9`. Specify runtime versions in the `runtime.enabled` section of + your `.trunk/trunk.yaml` +- Add support + for [psscriptanalyzer](https://github.com/PowerShell/PSScriptAnalyzer) versions `1.23.0` and + beyond! diff --git a/changelog/2024-10-17-flaky-tests-pr-test-summaries.mdx b/changelog/2024-10-17-flaky-tests-pr-test-summaries.mdx new file mode 100644 index 0000000..eb6908c --- /dev/null +++ b/changelog/2024-10-17-flaky-tests-pr-test-summaries.mdx @@ -0,0 +1,50 @@ +--- +title: "Flaky Tests: PR test summaries" +description: "We're excited to introduce a powerful new feature that will help you accelerate your PR iterations: PR Test Summaries!" +slug: flaky-tests-pr-test-summaries +date: 2024-10-17 +category: Flaky Tests +seo_description: A summary of all your PR test results from all CI jobs in one report. +--- + +We're excited to introduce a powerful new feature that will help you accelerate your PR iterations: +**PR Test Summaries**! + +Imagine this: You're diligently working on a new feature in your branch and ready to submit your +Pull Request (PR) for review. You've run your tests locally, and everything looks good. But then you +push your code, and—oh no! Some tests you haven’t even touched are failing. This is where our new PR +Test Summaries come in! + +With this feature, you can **quickly identify failing tests and their reasons, as well as pinpoint +flaky tests**. This way, you’ll know whether the issue lies with your code changes or the tests +themselves. + +## PR Test Summaries + +This new feature includes the following: + +![](/assets/changelog/flaky-tests-pr-test-summaries-qt7l0r.png) + +**GitHub PR Comment:** Each new PR will receive a comment summarizing the test results, including: + +- Counts for test runs, categorized by result (failed, flaky, skipped, quarantined) +- Collapsible lists for failed, flaky, and skipped tests +- For failed and flaky tests: detailed failure reasons and direct links to trace logs for quick + investigation + +![](/assets/changelog/flaky-tests-pr-test-summaries-izxf8v.png) + +**PR Summary View**: This new view in our web app gives you access to a comprehensive listing of all +test run details: + +- A table showing all test runs, filtered by outcome (passed, failed, or skipped) and whether or not + they have been quarantined +- Every test run includes an icon to indicate whether a test is known to be flaky, the failure + reason, and more details to investigate + +![](/assets/changelog/flaky-tests-pr-test-summaries-l4f3u.png) + +**Test Run Detail Panel:** You are most likely already familiar with this view; it will show you all +run details include tracelogs, branch, job run link, duration, and more.[ +](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) +[Learn more about PR Test Summaries in the docs](https://docs.trunk.io/flaky-tests/github-pull-request-comments) diff --git a/changelog/2024-10-28-flaky-tests-improved-support-for-ios-and-swift-developers.mdx b/changelog/2024-10-28-flaky-tests-improved-support-for-ios-and-swift-developers.mdx new file mode 100644 index 0000000..9a0218a --- /dev/null +++ b/changelog/2024-10-28-flaky-tests-improved-support-for-ios-and-swift-developers.mdx @@ -0,0 +1,25 @@ +--- +title: "Flaky Tests: Improved support for iOS and Swift developers" +description: "Flaky Tests now supports the XCResults format outputted by Swift projects using XCTests. You can now upload the .xcresults format to Trunk directly, without configuring a JUnit XML reporter." +slug: flaky-tests-improved-support-for-ios-and-swift-developers +date: 2024-10-28 +category: Flaky Tests +seo_description: + Flaky Tests now supports the XCResults format outputted by Swift projects using XCTests. +--- + +Flaky Tests now supports the XCResults format outputted by Swift projects using XCTests. You can now +upload the `.xcresults` format to Trunk directly, without configuring a JUnit XML reporter. +Supporting XCTests directly also means you can include test file paths from `.xcresults` when +reporting to Trunk Flaky Tests. This is especially important for CODEOWNERS support planned for a +future release. + +You can upload XCResults using the Trunk CLI with the `--xcresult-path` argument. + +``` +./trunk flakytests upload --xcresult-path "/path/to/Test.xresult" +``` + +To learn more, visit our +[XCTests documentation](https://docs.trunk.io/flaky-tests/get-started/frameworks/xctest) and +[Uploader CLI references](https://docs.trunk.io/flaky-tests/uploader). diff --git a/changelog/2024-11-04-cli-1-22-8.mdx b/changelog/2024-11-04-cli-1-22-8.mdx new file mode 100644 index 0000000..afc6b4c --- /dev/null +++ b/changelog/2024-11-04-cli-1-22-8.mdx @@ -0,0 +1,13 @@ +--- +title: CLI 1.22.8 +description: "Fix a daemon connection error that could occur on Windows; Fix a daemon connection error that could happen on some machines with restricted TCP permissions." +slug: cli-1-22-8 +date: 2024-11-04 +category: Code Quality +--- + +**🔧 Fixes** + +- Fix a daemon connection error that could occur on Windows. +- Fix a daemon connection error that could happen on some machines with restricted TCP permissions. +- Check `mypy` output for crashes and report to the user. diff --git a/changelog/2024-11-04-flaky-tests-data-uploads-view.mdx b/changelog/2024-11-04-flaky-tests-data-uploads-view.mdx new file mode 100644 index 0000000..74faf11 --- /dev/null +++ b/changelog/2024-11-04-flaky-tests-data-uploads-view.mdx @@ -0,0 +1,20 @@ +--- +title: "Flaky Tests: Data uploads view" +description: "A common pain point during onboarding is the lack of transparency after the Trunk CLI uploads test results." +slug: flaky-tests-data-uploads-view +date: 2024-11-04 +category: Flaky Tests +seo_description: A new view to see recent uploads and their status in Trunk Flaky tests +seo_image: /assets/changelog/flaky-tests-data-uploads-view-seo.png +--- + +A common pain point during onboarding is the lack of transparency after the Trunk CLI uploads test +results. To help you better understand if test results have been uploaded successfully and if it has +been processed, we’ve added a **Uploads** tab to the Trunk Flaky Tests dashboard. + +The Uploads tab shows you the status of each upload, which is identified by the source branch and +the commit hash. You can click on the link under **Job Run** to view the CI job in your provider. + +![](/assets/changelog/flaky-tests-data-uploads-view-sch3iv.png) + +View your recent uploads in the [Trunk Web App](https://app.trunk.io/login/?intent=flaky+tests). diff --git a/changelog/2024-11-08-flaky-tests-dashboard-improvements.mdx b/changelog/2024-11-08-flaky-tests-dashboard-improvements.mdx new file mode 100644 index 0000000..8a367ae --- /dev/null +++ b/changelog/2024-11-08-flaky-tests-dashboard-improvements.mdx @@ -0,0 +1,33 @@ +--- +title: "Flaky Tests: Dashboard improvements" +description: "We’re continually refining our UX with the help of our beta users’ feedback and we’ve made some changes to how Flaky Tests displays key information on the dashboards." +slug: flaky-tests-dashboard-improvements +date: 2024-11-08 +category: Flaky Tests +seo_description: + We’re continually refining our UX with the help of our beta users’ feedback to help you get key + insights faster. +--- + +We’re continually refining our UX with the help of our beta users’ feedback and we’ve made some +changes to how Flaky Tests displays key information on the dashboards. As more users are using Trunk +to tackle flakiness in their test suite, we’ve received some valuable feedback on which pieces of +information are missing and which metrics are more important. + +![](/assets/changelog/flaky-tests-dashboard-improvements-5eig4d.png) + +We’ve revisited the main Flaky Tests dashboard and added a new trend chart to help you better +understand the health trends of your tests at a glance. + +![](/assets/changelog/flaky-tests-dashboard-improvements-vi5uvd.png) + +We’ve also made improvements to what information is displayed in the test list to help you find +high-impact flaky tests easier, especially when quarantining is enabled. + +![](/assets/changelog/flaky-tests-dashboard-improvements-nghz59.png) + +In the test details page, we revisited the metrics that customers care most about and placed them +more prominently. We also cleaned up how quarantining and ticket creation UI elements are displayed +for a cleaner and more intuitive appearance. + +See these improvements in the [Trunk Web App](https://app.trunk.io/login/?intent=flaky+tests). diff --git a/changelog/2024-11-11-flaky-tests-added-flaky-test-commands-to-trunk-cli.mdx b/changelog/2024-11-11-flaky-tests-added-flaky-test-commands-to-trunk-cli.mdx new file mode 100644 index 0000000..f2ba8b9 --- /dev/null +++ b/changelog/2024-11-11-flaky-tests-added-flaky-test-commands-to-trunk-cli.mdx @@ -0,0 +1,36 @@ +--- +title: "Flaky Tests: Added Flaky Test commands to Trunk CLI " +description: "The Trunk CLI now includes commands for uploading and validating test results for Trunk Flaky Tests." +slug: flaky-tests-added-flaky-test-commands-to-trunk-cli +date: 2024-11-11 +category: Flaky Tests +seo_description: + The Trunk CLI now includes commands for uploading and validating test results for Trunk Flaky + Tests. +--- + +The Trunk CLI now includes commands for uploading and validating test results for Trunk Flaky Tests. + +You can install the CLI in your CI systems like this: + +``` +curl -fsSLO --retry 3 https://trunk.io/releases/trunk && chmod +x trunk +``` + +The launcher will install the appropriate Trunk CLI binary for your system. + +You can use the Trunk CLI for Flaky Tests using the `trunk flakytests` subcommand. + +``` +./trunk flakytests upload --junit-paths "test_output.xml" \ +  --org-url-slug \ +  --token $TRUNK_API_TOKEN +``` + +You can also now use the Trunk CLI to validate JUnit XML files during debugging. + +``` +./trunk flakytests validate +``` + +Learn more in our [Uploader CLI Reference docs](https://docs.trunk.io/flaky-tests/uploader). diff --git a/changelog/2024-11-12-flaky-tests-new-onboarding-flow.mdx b/changelog/2024-11-12-flaky-tests-new-onboarding-flow.mdx new file mode 100644 index 0000000..0a4ced5 --- /dev/null +++ b/changelog/2024-11-12-flaky-tests-new-onboarding-flow.mdx @@ -0,0 +1,37 @@ +--- +title: "Flaky Tests: New onboarding flow" +description: "Hi everyone, we’ve introduced a new onboarding flow to make it easier to integrate your test framework and CI provider with Trunk." +slug: flaky-tests-new-onboarding-flow +date: 2024-11-12 +category: Flaky Tests +seo_description: + We’ve introduced a new onboarding flow to make it easier to integrate your test framework and CI + provider with Trunk. +seo_image: /assets/changelog/flaky-tests-new-onboarding-flow-seo.png +--- + +Hi everyone, we’ve introduced a new onboarding flow to make it easier to integrate your test +framework and CI provider with Trunk.  + +This flow can also be used to add more test frameworks and CI jobs to existing Trunk Flaky Tests +projects. You can access this flow by clicking the Add Test Framework button on the top right of +your dashboard. + +![](/assets/changelog/flaky-tests-new-onboarding-flow-6mu5yt.png) + +The onboarding flow has guides for all of the test frameworks and CI provider combinations from the +Trunk documentation. The docs will guide you through the setup process and help you validate your +first upload. + +![](/assets/changelog/flaky-tests-new-onboarding-flow-pglr0t.png) + +The commands provided will have the API token and Trunk org slug **automatically populated**, so you +can set up your repo without circling back to your settings. + +![](/assets/changelog/flaky-tests-new-onboarding-flow-7pnib7.png) + +If you don’t see the test framework or CI provider you see in the onboarding process, feel free to +[reach out to us on Slack](https://slack.trunk.io/). + +Try the new add test framework flow in the +[Trunk Web App](https://app.trunk.io/login/?intent=flaky+tests). diff --git a/changelog/2024-11-13-plugins-1-6-5.mdx b/changelog/2024-11-13-plugins-1-6-5.mdx new file mode 100644 index 0000000..ca91999 --- /dev/null +++ b/changelog/2024-11-13-plugins-1-6-5.mdx @@ -0,0 +1,13 @@ +--- +title: Plugins 1.6.5 +description: "Use a hadolint version that works on the latest versions of macOS; Fix parsing in new versions of ruff for source files with syntax errors." +slug: plugins-1-6-5 +date: 2024-11-13 +category: Code Quality +--- + +**🔧 Fixes** + +- Use a hadolint version that works on the latest versions of macOS +- Fix parsing in new versions of ruff for source files with syntax errors +- Update links to custom linters and parsers documentation by @amkisko diff --git a/changelog/2024-12-10-plugins-1-6-6.mdx b/changelog/2024-12-10-plugins-1-6-6.mdx new file mode 100644 index 0000000..30aa7ef --- /dev/null +++ b/changelog/2024-12-10-plugins-1-6-6.mdx @@ -0,0 +1,16 @@ +--- +title: Plugins 1.6.6 +description: "Upgrade ruby-build to 20241105. Thanks @amkisko for the contribution!; Upgrade jdk to 23." +slug: plugins-1-6-6 +date: 2024-12-10 +category: Code Quality +--- + +**✨ Improvements** + +- Upgrade ruby-build to `20241105`. Thanks [@amkisko](https://github.com/amkisko) for the + contribution! +- Upgrade jdk to `23` +- Upgrade rust to `1.82.0` +- Upgrade php tooling to support `8.4` +- Upgrade node to `18.20.5` diff --git a/changelog/2024-12-16-flaky-tests-webhooks-for-status-changes.mdx b/changelog/2024-12-16-flaky-tests-webhooks-for-status-changes.mdx new file mode 100644 index 0000000..5449b25 --- /dev/null +++ b/changelog/2024-12-16-flaky-tests-webhooks-for-status-changes.mdx @@ -0,0 +1,26 @@ +--- +title: "Flaky Tests: Webhooks for status changes" +description: "We’re excited to announce the addition of webhooks for flaky tests, designed to help you automate your workflows for better handling of flaky tests." +slug: flaky-tests-webhooks-for-status-changes +date: 2024-12-16 +category: Flaky Tests +seo_description: + Automate notification messages and assign tickets when a new flaky test appears in your repo. +seo_image: /assets/changelog/flaky-tests-webhooks-for-status-changes-seo.png +--- + +We’re excited to announce the addition of webhooks for flaky tests, designed to help you automate +your workflows for better handling of flaky tests. The new `test_case.status_changed` event triggers +whenever a test's status changes (healthy ↔ flaky ↔ broken). This makes it easier to track and +respond to flaky tests as they show up. +[View the docs and example usage here.](https://docs.trunk.io/flaky-tests/webhooks/github-issues-integration) + +![](/assets/changelog/flaky-tests-webhooks-for-status-changes-b4hln2.png) + +With this update, you can automate actions to react to flaky tests in a way that suits you best. For +instance, you can create tickets in project management tools (e.g. Jira, GitHub, Linear) and ensure +they are automatically assigned to the right project and team. You can also automatically send +notifications (e.g. in Slack, Discord, and Microsoft Teams) to the right engineers with the most +relevant information, such as failure reasons and trace logs. This helps teams respond quickly, +triage issues, and resolve flaky tests efficiently. +[Explore our webhook guide to get started](https://docs.trunk.io/flaky-tests/webhooks). diff --git a/changelog/2025-01-03-flaky-tests-flaky-test-detection-on-merge-branches.mdx b/changelog/2025-01-03-flaky-tests-flaky-test-detection-on-merge-branches.mdx new file mode 100644 index 0000000..902d927 --- /dev/null +++ b/changelog/2025-01-03-flaky-tests-flaky-test-detection-on-merge-branches.mdx @@ -0,0 +1,34 @@ +--- +title: "Flaky Tests: Flaky test detection on merge branches" +description: "We’re excited to announce improved flaky test detection for merge queue users. In a merge queue, a single flaky failure will force every enqueued PR behind it to be retested, affecting every engineer…" +slug: flaky-tests-flaky-test-detection-on-merge-branches +date: 2025-01-03 +category: Flaky Tests +--- + +We’re excited to announce improved flaky test detection for merge queue users. In a merge queue, a +single flaky failure will force every enqueued PR behind it to be retested, affecting every engineer +involved and wasting tons of CI resources. If you run a merge queue like +[Trunk Merge](https://trunk.io/merge-queue) to test your changes before they're merged, tests run on +the merge branches are an important signal about your tests' health. Flaky Tests can now detect +flaky tests using signals on your PR branches, merge branches, and protected branches. + +Tests are expected to behave differently on protected branches such as `main` or `master` compared +to tests run on PR branches. Trunk adjusts for this inherent volatility of PR branches by applying a +slightly different set of rules to them: + +- Inconsistent test results on the same commit hash, where results are different on identical code + is considered flaky +- Inconsistent test results on different commit hashes, but across a large number of PRs is + considered flaky + +Merge branches created by merge queues, on the other hand, are treated similarly to protected +branches. We make the assumption that before PRs are submitted to a merge queue, tests have already +been run once on the PR and are passing. + +If you'd like to learn more about how Trunk detects flaky tests, see the +[Detection page in docs](https://docs.trunk.io/flaky-tests/detection). + +Trunk Flaky Test supports detection on merge branch for **Trunk Merge**, **GitLab Merge Trains**, +**Graphite Merge Queues**, and **GitHub merge queue**. If you're using an unsupported merge queue +and would like to apply detection on merge branches, [contact us on Slack](https://slack.trunk.io/). diff --git a/changelog/2025-01-14-flaky-tests-support-for-bazel-build-event-protocol.mdx b/changelog/2025-01-14-flaky-tests-support-for-bazel-build-event-protocol.mdx new file mode 100644 index 0000000..680a957 --- /dev/null +++ b/changelog/2025-01-14-flaky-tests-support-for-bazel-build-event-protocol.mdx @@ -0,0 +1,31 @@ +--- +title: "Flaky Tests: Support for Bazel build event protocol" +description: "Trunk Flaky Tests now supports uploading test results by parsing Bazel Build Event Protocol (BEP) files." +slug: flaky-tests-support-for-bazel-build-event-protocol +date: 2025-01-14 +category: Flaky Tests +--- + +Trunk Flaky Tests now supports uploading test results by parsing Bazel Build Event Protocol (BEP) +files. Supporting BEP files gives Trunk more context when parsing Bazel test results for more +accurate detection results. Parsing BEP files lets Trunk accurately track tests run by understanding +which targets were actually built and which were cached and skipped. In the future, this will also +allow Trunk to work better with Bazel's +[built-in retries](https://bazel.build/reference/command-line-reference#flag--flaky_test_attempts). + +Trunk expects a JSON serialization of the [build event protocol](https://bazel.build/remote/bep) +which you can export by running the `bazel test` command with the options +`--nobuild_event_json_file_path_conversion` and `--build_event_json_file=build_events.json`. + +You can switch to uploading BEP files by running the upload command with the +`--bazel-bep-path build_events.json` option. + +``` +./trunk flakytests upload --bazel-bep-path build_events.json \ +--org-url-slug \ +--token $TRUNK_TOKEN +``` + +You can learn more about Bazel in the +[docs](https://docs.trunk.io/flaky-tests/get-started/frameworks/bazel) or chat with us +[on Slack](https://slack.trunk.io/). diff --git a/changelog/2025-01-16-flaky-tests-codeowners-support.mdx b/changelog/2025-01-16-flaky-tests-codeowners-support.mdx new file mode 100644 index 0000000..7a36215 --- /dev/null +++ b/changelog/2025-01-16-flaky-tests-codeowners-support.mdx @@ -0,0 +1,70 @@ +--- +title: "Flaky Tests: CODEOWNERS support" +description: "We’re thrilled to announce support for CODEOWNERS in our Flaky Tests product, which is available for both GitHub and GitLab repositories." +slug: flaky-tests-codeowners-support +date: 2025-01-16 +category: Flaky Tests +--- + +We’re thrilled to announce support for +[CODEOWNERS](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners) +in our Flaky Tests product, which is available for both GitHub and GitLab repositories. With this +integration, we now process your CODEOWNERS file to identify and annotate ownership for tests +automatically. This unlocks powerful capabilities for test ownership and management, including: + +**Test Details View**: Instantly see who owns each test right from the test details page. + +![](/assets/changelog/flaky-tests-codeowners-support-iwxj98.png) + +**Webhook Integration**: Retrieve ownership information in your +[webhooks](https://www.svix.com/event-types/us/org_2eQPL41Ew5XSHxiXZIamIUIXg8H/#test_case.status_changed) +for automated workflows. + +``` +{ + +   "status_change": { ... }, + +   "test_case": { + +       "codeowners": ["@agraebe", "code", "owners", "@dev-team"], + +       "id": "fc7a6bdd-0ebe-55d5-aa31-ff0adb411d0e", + +... } + +} + +``` + +**Jira Integration**: Automatically populate owner details in Jira tickets to streamline task +assignments. + +![](/assets/changelog/flaky-tests-codeowners-support-75ak4f.png) + +#### **Why It Matters** + +CODEOWNERS is a key tool for maintaining code ownership within repositories. With this new +integration, you can: + +- **Notify Owners**: Automatically inform test owners in messaging applications like Slack or Teams + when their tests exhibit flakiness. +- **Streamline Workflows**: Assign flakiness issues directly to owners using project management + tools like Jira or Linear. + +#### **How to Get Started** + +It’s simple! Place your CODEOWNERS file in one of the standard locations supported by your Git +provider and follow their conventions: +[**GitHub**](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners) +**and** [**GitLab**](https://docs.gitlab.com/ee/user/project/codeowners/)**.** + +Here’s an example CODEOWNERS file: + +``` +# In this example, @agraebe owns any file in the `/tests` directory   + +# at the root of your repository and its subdirectories.   + +/tests/ @agraebe  +``` diff --git a/changelog/2025-01-21-web-app-sign-in-with-microsoft.mdx b/changelog/2025-01-21-web-app-sign-in-with-microsoft.mdx new file mode 100644 index 0000000..68cafea --- /dev/null +++ b/changelog/2025-01-21-web-app-sign-in-with-microsoft.mdx @@ -0,0 +1,15 @@ +--- +title: "Web App: Sign in with Microsoft" +description: "The Trunk Web App now supports signing in with Microsoft. This makes it easier for teams who are primarily integrated with Microsoft's ecosystem (Outlook, Microsoft Teams) to get started with Trunk." +slug: web-app-sign-in-with-microsoft +date: 2025-01-21 +category: Web App +--- + +The Trunk Web App now supports signing in with Microsoft. This makes it easier for teams who are +primarily integrated with Microsoft's ecosystem (Outlook, Microsoft Teams) to get started with +Trunk. + +![](/assets/changelog/web-app-sign-in-with-microsoft-9ns7li.png) + +[Login with your Microsoft account today](https://app.trunk.io/) diff --git a/changelog/2025-01-28-merge-webhook-notifications-for-microsoft-teams-and-slack.mdx b/changelog/2025-01-28-merge-webhook-notifications-for-microsoft-teams-and-slack.mdx new file mode 100644 index 0000000..3553d21 --- /dev/null +++ b/changelog/2025-01-28-merge-webhook-notifications-for-microsoft-teams-and-slack.mdx @@ -0,0 +1,22 @@ +--- +title: "Merge: Webhook notifications for Microsoft Teams and Slack" +description: "We're excited to share our new webhook integrations for Trunk Merge. You can now send notifications about events in the merge queue to your Microsoft Teams and Slack channels." +slug: merge-webhook-notifications-for-microsoft-teams-and-slack +date: 2025-01-28 +category: Merge Queue +--- + +We're excited to share our new webhook integrations for Trunk Merge. You can now send notifications +about events in the merge queue to your Microsoft Teams and Slack channels. + +These webhooks allow you to receive notifications when a PR enters the merge queue, begins testing, +and succeeds or fails in the queue. These webhook come with a template transformation that works out +of the box and can be customized using a JavaScript-based transformation code block. + +![](/assets/changelog/merge-webhook-notifications-for-microsoft-teams-and-slack-4bn17t.png) + +You can create an integration under **Organization** > **Webhooks** by clicking **Add Endpoint**. +Under **Webhook**, you can select the type of integration for your messaging service. Instructions +are provided in each of the provided integrations. + +[Login to Trunk to add a webhook integration](https://app.trunk.io/) diff --git a/changelog/2025-01-29-flaky-tests-webhook-integration-for-slack-microsoft-teams-github-issues-and-linea.mdx b/changelog/2025-01-29-flaky-tests-webhook-integration-for-slack-microsoft-teams-github-issues-and-linea.mdx new file mode 100644 index 0000000..28fe1f6 --- /dev/null +++ b/changelog/2025-01-29-flaky-tests-webhook-integration-for-slack-microsoft-teams-github-issues-and-linea.mdx @@ -0,0 +1,21 @@ +--- +title: "Flaky Tests: Webhook Integration for Slack, Microsoft Teams, GitHub Issues, and Linear" +description: "We're excited to introduce webhook integrations for Slack, Microsoft Teams, GitHub Issues, and Linear." +slug: flaky-tests-webhook-integration-for-slack-microsoft-teams-github-issues-and-linea +date: 2025-01-29 +category: Flaky Tests +--- + +We're excited to introduce webhook integrations for Slack, Microsoft Teams, GitHub Issues, and +Linear. Webhook integrations make it easier to start automating notifications and ticket creation by +providing tighter integrations and example transformations. + +![](/assets/changelog/flaky-tests-webhook-integration-for-slack-microsoft-teams-github-issues-and-linea-9heljc.png) + +You can use the provided transformation to set up working notification messages and tickets +immediately and customize the transformation for each webhook as you go. This means they're quicker +to boot without sacrificing customizability. + +![](/assets/changelog/flaky-tests-webhook-integration-for-slack-microsoft-teams-github-issues-and-linea-jbom14.png) + +[Learn to set up webhooks and see examples in the Trunk docs](https://docs.trunk.io/flaky-tests/webhooks) diff --git a/changelog/2025-01-29-plugins-1-6-7.mdx b/changelog/2025-01-29-plugins-1-6-7.mdx new file mode 100644 index 0000000..b105dfe --- /dev/null +++ b/changelog/2025-01-29-plugins-1-6-7.mdx @@ -0,0 +1,26 @@ +--- +title: Plugins 1.6.7 +description: "New security linter: snyk. Thanks @fsargent for the contribution!; New action: terraform-docs. Thanks @Gowiem for the contribution!." +slug: plugins-1-6-7 +date: 2025-01-29 +category: Code Quality +--- + +**🎁 New** + +- New security linter: [snyk](https://docs.snyk.io/snyk-cli). Thanks @fsargent for the contribution! +- New action: [terraform-docs](https://terraform-docs.io/). Thanks @Gowiem for the contribution! + +**✨ Improvements** + +- Add support for `biome.jsonc` configuration file. Thanks @andreilgeorgescu for the contribution! +- Add other supported languages to Biome configuration. Thanks @andreilgeorgescu for the + contribution! +- Use mjs file for default svgo configuration +- Add support for Astro files. Thanks @andreilgeorgescu for the contribution! +- Change biome to apply safe autofixes. Thanks @andreilgeorgescu for the contribution! + +**🔧 Fixes** + +- Fix Dockerfile file type specification. Thanks @NellyWhads for the contribution! +- Remove tf.json filetype from terraform diff --git a/changelog/2025-02-10-flaky-tests-weekly-reports.mdx b/changelog/2025-02-10-flaky-tests-weekly-reports.mdx new file mode 100644 index 0000000..ea21831 --- /dev/null +++ b/changelog/2025-02-10-flaky-tests-weekly-reports.mdx @@ -0,0 +1,65 @@ +--- +title: "Flaky Tests: Weekly reports" +description: "We're excited to introduce a new way to help your team stay on top of your repository's test health through weekly email reports." +slug: flaky-tests-weekly-reports +date: 2025-02-10 +category: Flaky Tests +--- + +We're excited to introduce a new way to help your team stay on top of your repository's test health +through weekly email reports. + +With automatic detection and quarantining, Trunk can do a great job of mitigating the impact of test +flakiness on your team's velocity. But we don't want you to forget about your flaky tests. Even if +they're no longer causing friction, they should still be fixed eventually. + +To help you stay on top of your repo's test health, we created a weekly digest for your flaky tests. +Here's what you can expect to find in each report. + +**Key Metrics** + +At the top of each report, you'll see an overview of important metrics on flaky tests and their +impact on your organization. You'll see the number of broken and flaky tests, how many PRs they +block, and an estimate of engineering hours lost due to these flaky tests. + +![](/assets/changelog/flaky-tests-weekly-reports-3ymq3g.png) + +We also include the changes week to week. We believe it's important to keep track of week-to-week +changes to understand if the flaky tests problem is controlled or if it's spreading. This helps you +decide whether more resources should be devoted to fixing and controlling flaky tests. It can also +alert against larger issues where a bug in code or infrastructure can cause a spike in test +flakiness. + +**Per-Repo Breakdown** + +If your org is tracking flaky tests across many repos, the weekly report will break down the key +metrics for each repo. This helps you see which repos are doing well and which might need extra +love. + +![](/assets/changelog/flaky-tests-weekly-reports-7avaya.png) + +**Frequently Failing Tests** + +Each report has a dedicated section for frequently failing tests. This alerts against high-impact +broken and flaky tests. You can use this list to catch newly introduced high-impact flaky tests or +get an overview of the flaky tests you should be investigating next with your team. + +![](/assets/changelog/flaky-tests-weekly-reports-ub4gvb.png) + +**Important Action Items** + +Toolrot can be a real issue with the sheer scale of infrastructure required for modern CI. The +weekly email reports will remind you if your CI is misconfigured or if there's a new version of the +analytics-uploader tool you should upgrade to. All of these help ensure your detection remains +accurate and effective. + +![](/assets/changelog/flaky-tests-weekly-reports-oq8twu.png) + +**Who Gets These Reports?** + +All org admins will get the emails by default as long as you've uploaded test results to us in the +past week. The emails are delivered each Monday, and we go over the stats over the last week. You +should see these emails in your mailbox starting next week. + +If you've got any questions about these email reports or would like to suggest some new additions, +please feel free to [reach out to us on Slack.](https://slack.trunk.io/) diff --git a/changelog/2025-02-14-flaky-tests-set-a-custom-stable-branch.mdx b/changelog/2025-02-14-flaky-tests-set-a-custom-stable-branch.mdx new file mode 100644 index 0000000..e7ce777 --- /dev/null +++ b/changelog/2025-02-14-flaky-tests-set-a-custom-stable-branch.mdx @@ -0,0 +1,19 @@ +--- +title: "Flaky Tests: Set a custom stable branch" +description: "If your stable branch is not main, you can now set a custom stable branch for your repositories to improve flaky test detection." +slug: flaky-tests-set-a-custom-stable-branch +date: 2025-02-14 +category: Flaky Tests +--- + +If your stable branch is not `main`, you can now set a custom stable branch for your repositories to +improve flaky test detection. + +Previously, Flaky Tests assumed that `main` was a repository's stable branch. This would lead to +subpar flaky test detection if a different branch, `master` or `develop` for example, is defined as +the default stable branch for your workflows. + +Now you can override these stable branch defaults to better match your organization's custom CI +workflows. + +[Learn how to customize your stable branch in the Trunk docs.](https://docs.trunk.io/flaky-tests/detection#stable-branches) diff --git a/changelog/2025-02-26-flaky-tests-detailed-jira-integration-status-updates.mdx b/changelog/2025-02-26-flaky-tests-detailed-jira-integration-status-updates.mdx new file mode 100644 index 0000000..98edebd --- /dev/null +++ b/changelog/2025-02-26-flaky-tests-detailed-jira-integration-status-updates.mdx @@ -0,0 +1,25 @@ +--- +title: "Flaky Tests: Detailed Jira integration status updates" +description: "We have an exciting update for teams using the Flaky Test Jira integration to create and track their tickets." +slug: flaky-tests-detailed-jira-integration-status-updates +date: 2025-02-26 +category: Flaky Tests +--- + +We have an exciting update for teams using the Flaky Test +[Jira integration](https://docs.trunk.io/flaky-tests/jira-integration) to create and track their +tickets. + +Previously, the Jira integration only tracked ticket creation in each test's timeline. In this +update, new events are added to the timeline for ticket assignments and status changes. + +As your team continues to integrate Trunk into your workflow, Jira integration events combined with +detection events in the timeline help tell a more complete story about the status of a flaky test. +You can more easily understand if a flaky test is being tackled by an engineer and if their fix was +effective during reviews. + +Note: There can be a delay of up to 15 minutes between changes being made in Jira and the events +being reflected in the timeline. + +[See the new timeline events in Trunk](https://app.trunk.io/) or reach out to us for discussions +[on Slack](https://slack.trunk.io/). diff --git a/changelog/2025-03-13-web-app-single-sign-on-sso-support.mdx b/changelog/2025-03-13-web-app-single-sign-on-sso-support.mdx new file mode 100644 index 0000000..937fdfe --- /dev/null +++ b/changelog/2025-03-13-web-app-single-sign-on-sso-support.mdx @@ -0,0 +1,17 @@ +--- +title: "Web App: Single sign-on (SSO) support" +description: "Trunk now supports single sign-on (SSO) for enterprise plan users. SSO allows your team to access Trunk with their work email account through your organization's identity and access management…" +slug: web-app-single-sign-on-sso-support +date: 2025-03-13 +category: Web App +--- + +Trunk now supports single sign-on (SSO) for [enterprise plan](https://trunk.io/pricing) users. SSO +allows your team to access Trunk with their work email account through your organization's identity +and access management solutions, making it easier to manage your Trunk organization. + +![](/assets/changelog/web-app-single-sign-on-sso-support-5qox0y.png) + +SSO is only available for [enterprise plan](https://trunk.io/pricing) users. If you're interested in +configuring SSO for your team, contact us by [email](< mailto:support@trunk.io>) or +[Slack](https://slack.trunk.io/). We will reach out to help you configure SSO for your organization. diff --git a/changelog/2025-03-26-flaky-tests-quarantined-tests-api.mdx b/changelog/2025-03-26-flaky-tests-quarantined-tests-api.mdx new file mode 100644 index 0000000..cf9dbc3 --- /dev/null +++ b/changelog/2025-03-26-flaky-tests-quarantined-tests-api.mdx @@ -0,0 +1,51 @@ +--- +title: "Flaky Tests: Quarantined Tests API" +description: "A new Quarantined Tests API is now available to all Flaky Tests users. This API fetches a list of currently quarantined tests for a given repo, allowing organizations to implement custom workflows to…" +slug: flaky-tests-quarantined-tests-api +date: 2025-03-26 +category: Flaky Tests +--- + +A new Quarantined Tests API is now available to all Flaky Tests users. This API fetches a list of +currently quarantined tests for a given repo, allowing organizations to implement custom workflows +to review and fix quarantined tests. + +``` +// https://api.trunk.io/v1/flaky-tests/list-quarantined-tests +// a sample response with a single quarantined flaky test +{ + "quarantined_tests": [ + { + "name": "sums some nums > subtracts 1 from 2 to equal 1", + "parent": "app/utils/subtract.test.ts", + "file": null, + "classname": "app/utils/subtract.test.ts", + "status": "FLAKY", + "codeowners": [], + "quarantine_setting": "AUTO_QUARANTINE", + "status_last_updated_at": "2025-02-13T15:52:03.000Z", + "test_case_id": "48cd26cb-6333-528a-919f-ed597ee11715" + } + ], + "page": { + "total_rows": 1, + "total_pages": 1, + "next_page_token": "", + "prev_page_token": "nUj35JF5aNJFjUkIakxff89f1b...", + "last_page_token": "bVUNwekgkHadgZfSgwuac75640...", + "page_index": 0 + } +} +``` + +Dev teams are using the Quarantined Tests API to do things such as: + +- Automatically skip quarantined tests when testing locally +- Check for any tests that should be manually un-quarantined +- Determine what teams, projects, or modules have the most quarantined tests +- Assign engineers to fix certain quarantined tests, based on recent code changes +- Send Slack or email notifications to let teams know when the number of quarantined tests reaches a + threshold + +See the [API reference](https://docs.trunk.io/apis/flaky-tests) for more information on required +headers and payload. diff --git a/changelog/2025-04-09-flaky-tests-test-detail-dashboard-ui-improvements.mdx b/changelog/2025-04-09-flaky-tests-test-detail-dashboard-ui-improvements.mdx new file mode 100644 index 0000000..6dfe691 --- /dev/null +++ b/changelog/2025-04-09-flaky-tests-test-detail-dashboard-ui-improvements.mdx @@ -0,0 +1,51 @@ +--- +title: "Flaky Tests: Test detail dashboard UI improvements" +description: "The test details page in the Flaky Tests dashboard is getting a major UX overhaul." +slug: flaky-tests-test-detail-dashboard-ui-improvements +date: 2025-04-09 +category: Flaky Tests +--- + +The test details page in the Flaky Tests dashboard is getting a major UX overhaul. + +User interviews and feedback from beta users helped us remove metrics that were not useful and +update visualizations to better show a test’s health over time. The tabbed views are also gone, +which means you can get all the information about a test’s health in a single, unified dashboard, +including:  + +- A test’s current status. +- When a test was marked as flaky and quarantined. +- Test flake and failure rates on mainline and PR branches. +- Overall test health history. +- Grouped unique test failure reasons. + +![A screenshot of the test details page in Trunk Flaky Tests. It displays the flaky status of the test, multiple bar charts that show test success, quarantine, and failure history, a test history timeline, and a table with unique failure reasons.](/assets/changelog/flaky-tests-test-detail-dashboard-ui-improvements-i15ll8.png) + +These new charts break down how often a test is successful, failing, or quarantined for CI jobs for +your mainline branch and PRs and show test health changes over time. + +### A more eventful test history timeline + +The test history timeline has been moved to the main page, and updates, including when a test was +marked as flaky, quarantined, or fixed, are always visible. Teams using the Jira integration to +track test flakes will also see any updates to a flaky test’s ticket reflected in the timeline. + +You can still override the repo's default quarantine setting and always quarantine or never +quarantine a test, but now you can leave a comment for other devs that shows up in the timeline. + +![The override button is selected on the test details page with an open dialog that allows users to Always Quarantine or Never Quarantine the test. There is also a comment box, and save an cancel buttons](/assets/changelog/flaky-tests-test-detail-dashboard-ui-improvements-4n5mew.png) + +For example, you might want to let your team know that the “Test is important - flakes must be +fixed!” when you override the repo default to never quarantine a test: + +![A screenshot of the test history timeline, with an entry for Never Quarantine set along with the message "Test is important - flakes must be fixed!"](/assets/changelog/flaky-tests-test-detail-dashboard-ui-improvements-8776t8.png) + +The table shows all the unique reasons the test fails in CI.  Trunk uses AI to auto-group unique +failures so multiple runs will be grouped under a single failure reason. Individual runs, including +stack traces, branch, commit, and job information, are available when a row in the table is +expanded. This means all the information you need to debug and fix flaky or broken tests is +available in a single place. + +![A snapshot of the dashboard with a table of failure types that has two unique failure reasons](/assets/changelog/flaky-tests-test-detail-dashboard-ui-improvements-28h1zg.png) + +Have feedback for us? [Reach out on our community Slack](https://slack.trunk.io). diff --git a/changelog/2025-04-11-plugins-1-6-8.mdx b/changelog/2025-04-11-plugins-1-6-8.mdx new file mode 100644 index 0000000..bbaf0f4 --- /dev/null +++ b/changelog/2025-04-11-plugins-1-6-8.mdx @@ -0,0 +1,22 @@ +--- +title: Plugins 1.6.8 +description: "New linter: golangci-lint2. Users who wish to upgrade should replace golangci-lint with golangci-lint2" +slug: plugins-1-6-8 +date: 2025-04-11 +category: Code Quality +--- + +**🎁 New** + +- New linter: `golangci-lint2`. Users who wish to upgrade should + replace `golangci-lint` with `golangci-lint2` + +**✨ Improvements** + +- Add in-repo docs for converting some native linter ignores to trunk-ignore +- Update `kube-linter` to 0.7.2. Thanks @janisz for the contribution! +- Update ruby build and latest stable ruby release to 3.4.2 + +**🔧 Fixes** + +- Fix Dockerfile file pattern regex to match spec diff --git a/changelog/2025-04-17-merge-queue-updatequeue-api.mdx b/changelog/2025-04-17-merge-queue-updatequeue-api.mdx new file mode 100644 index 0000000..477785f --- /dev/null +++ b/changelog/2025-04-17-merge-queue-updatequeue-api.mdx @@ -0,0 +1,45 @@ +--- +title: "Merge Queue: updateQueue API" +description: "We’ve added a new updateQueue API to Trunk Merge Queue that enables you to update a Merge Queue’s state." +slug: merge-queue-updatequeue-api +date: 2025-04-17 +category: Merge Queue +--- + +We’ve added a new `updateQueue` API to Trunk Merge Queue that enables you to update a Merge Queue’s +state. + +This means that you no longer need to manually go into the settings page in the web app to update +the merge queue state. Instead, queue state can be managed with custom tooling or automations using +`updateQueue`: + +``` +curl -L \ + --request POST \ + --url 'https://api.trunk.io/v1/updateQueue' \ + --header 'x-api-token: YOUR_API_KEY' \ + --header 'Content-Type: application/json' \ + --data '{ + "repo": { + "host": "github.com", + "name": "mergequeue", + "owner": "trunk-io" + }, + "targetBranch": "main", + "state": "DRAINING" + }' +``` + +As a refresher, the possible queue states are: + +- **RUNNING**: PRs are being enqueued and are merged after tests pass. This is the default state for + a merge queue. +- **PAUSED**: PRs in the queue are tested, but the queue will not merge successful PRs or begin + testing new PRs. A queue can be paused as an immediate response to a CI incident, reducing noise + from failures while preserving the order of PRs that have already been enqueued. +- **DRAINING**: PRs currently in the queue will be tested and merged, but new PRs will not begin + testing. This state is helpful for use cases like a code freeze, so PRs in the queue can be + shipped, but newly enqueued PRs are not tested or merged.  + +See the Merge Queue [API reference](https://docs.trunk.io/references/apis/merge#post-updatequeue) +for more information. diff --git a/changelog/2025-04-17-track-environment-specific-flakes-with-variants.mdx b/changelog/2025-04-17-track-environment-specific-flakes-with-variants.mdx new file mode 100644 index 0000000..6923b82 --- /dev/null +++ b/changelog/2025-04-17-track-environment-specific-flakes-with-variants.mdx @@ -0,0 +1,35 @@ +--- +title: "Flaky Tests: Track environment-specific flakes with variants" +description: "Starting today, the --variant option should be used to upload test results when the same tests are run on different environments, also known as matrix builds." +slug: track-environment-specific-flakes-with-variants +date: 2025-04-17 +category: Flaky Tests +--- + +Starting today, the `--variant` option should be used to upload test results when the same tests are +run on different environments, also known as matrix builds. + +If you use a matrix strategy to run the same CI tests on different architectures or environments, +test flakiness could be unique to an environment. Examples include testing a mobile app on iOS and +Android, running tests for your CLI tool on macOS and Linux, or performing the same e2e tests on +different browsers. Tests run on separate environments must be treated as unique to guarantee +accurate flake detection. + +Using variants, Flaky Tests will now treat the same test run on different environments as unique. +This means flakes can be detected and quarantined on a per-environment basis. + +To specify a variant during upload, use the `--variant` option: + +``` +./trunk flakytests upload --junit-paths "test_output.xml" \ +--org-url-slug \ +--token $TRUNK_API_TOKEN \ +--variant linux_x86_64 +``` + +Variant names are visible in brackets on your Flaky Tests dashboard: + +![](/assets/changelog/track-environment-specific-flakes-with-variants-4xs69k.png) + +See the [reference docs](https://docs.trunk.io/flaky-tests/uploader#full-command-reference) for more +information on uploading test reports with variants. diff --git a/changelog/2025-04-25-linear-integration.mdx b/changelog/2025-04-25-linear-integration.mdx new file mode 100644 index 0000000..3c5f75c --- /dev/null +++ b/changelog/2025-04-25-linear-integration.mdx @@ -0,0 +1,49 @@ +--- +title: "Flaky Tests: Linear integration" +description: "We now have a built-in Linear integration that creates tickets with relevant test and failure information from your flaky tests." +slug: linear-integration +date: 2025-04-25 +category: Flaky Tests +--- + +We now have a built-in Linear integration that creates tickets with relevant test and failure +information from your flaky tests. + +Detecting and quarantining flaky tests aren’t the only steps required to eliminate them from a repo. +A follow-up process must also be established to collect, triage, and fix flaky tests. + +Ticketing system integrations help with that follow-up. Trunk generates tickets automatically from +detected flaky tests, enabling you to triage and address flakes. Flakes on important tests should be +dealt with immediately, and other flakes can be added to a backlog or the tests can be marked for +future removal. + +To set up the Linear integration: + +- Go to your repo settings: **Settings > repo > Ticketing Integration**. +- Select **Linear** as your system and enter a **Linear API key**. +- Select a **team** and connect to Linear. + +You can also select a default project and assignee for newly created tickets. This enables you to +designate a person on a team to triage, prioritize, update, and assign tickets for flaky tests when +they are created. + +![](/assets/changelog/linear-integration-ersgby.png) + +Once the integration is set up, you can create a new ticket: + +- In the **options menu** on the + [test cases overview dashboard](https://docs.trunk.io/flaky-tests/dashboard#tests-cases-overview). +- With the **Create ticket** button on the test details dashboard. + +You will see a preview of the ticket title and description, and can click **Create Linear Ticket** +to create the new ticket. + +![](/assets/changelog/linear-integration-qq782v.png) + +When a ticket is created, any changes to that ticket, such as status or person assigned, are also +visible in the timeline on the test case details page in Flaky Tests. + +![](/assets/changelog/linear-integration-g8tpdc.png) + +[Read the docs](https://docs.trunk.io/flaky-tests/ticketing-integrations/linear-integration) for +more information on setting up the Linear integration. diff --git a/changelog/2025-04-25-link-ticket-to-test-case-api.mdx b/changelog/2025-04-25-link-ticket-to-test-case-api.mdx new file mode 100644 index 0000000..5a3153c --- /dev/null +++ b/changelog/2025-04-25-link-ticket-to-test-case-api.mdx @@ -0,0 +1,41 @@ +--- +title: "Flaky Tests: Link Ticket to Test Case API" +description: "Today, we’re introducing a new Link Ticket to Test Case API that allows you to link your existing Linear or Jira tickets to tests in the Flaky Tests dashboard." +slug: link-ticket-to-test-case-api +date: 2025-04-25 +category: Flaky Tests +--- + +Today, we’re introducing a new **Link Ticket to Test Case API** that allows you to link your +existing Linear or Jira tickets to tests in the Flaky Tests dashboard. + +Trunk has built-in ticketing integrations with Jira and Linear, allowing you to create detailed bug +tickets for flaky tests with a single click. If you’re already tracking flaky test issues with +existing tickets, you can now link those Jira or Linear tickets directly to your flaky tests in +Trunk, keeping all relevant context in one place. + +Calling the API requires the ID of your test case in Flaky Tests, which can be found on +[incoming webhook payloads](https://docs.trunk.io/flaky-tests/webhooks) or the URL of the test case +details page, and the ID of the ticket in your ticketing system: + +``` +curl -L \​ + --request POST \​ + --url 'https://api.trunk.io/v1/flaky-tests/link-ticket-to-test-case' \​ + --header 'x-api-token: YOUR_API_KEY' \​ + --header 'Content-Type: application/json' \​ + --data '{ + "test_case_id": "01234567-0123-0123-0123-0123456789ab", + "external_ticket_id": "KAN-123" +``` + +Once a ticket is linked to a test, ticketing information will be available in Flaky Tests webhooks. +This makes it possible to build custom integrations and automations with the context of any linked +ticket information. And when ticket information is not included in the payload, you know one has not +been created for the flake. + +You can only use the Link Ticket to Test Case API if you have already set up the +[Linear or Jira integration](https://docs.trunk.io/flaky-tests/ticketing-integrations). + +[Read the reference docs](https://docs.trunk.io/references/apis/flaky-tests#post-flaky-tests-link-ticket-to-test-case) +for more information on the Link Ticket to Test Case API. diff --git a/changelog/2025-05-08-merge-queue-webhooks-on-batched-pr-merges.mdx b/changelog/2025-05-08-merge-queue-webhooks-on-batched-pr-merges.mdx new file mode 100644 index 0000000..e35ef8e --- /dev/null +++ b/changelog/2025-05-08-merge-queue-webhooks-on-batched-pr-merges.mdx @@ -0,0 +1,42 @@ +--- +title: "Merge Queue: Webhooks on batched PR merges" +description: "Webhooks are now available for batched PR merges in Merge Queue. This allows you to build custom automations and respond to events when batching is enabled." +slug: merge-queue-webhooks-on-batched-pr-merges +date: 2025-05-08 +category: Merge Queue +--- + +Webhooks are now available for batched PR merges in Merge Queue. This allows you to build custom +automations and respond to events when +[batching](https://docs.trunk.io/merge-queue/concepts-and-optimizations/batching) is enabled. + +The +[pull_request_batch.merged webhook](https://www.svix.com/event-types/us/org_2eQPL41Ew5XSHxiXZIamIUIXg8H/#pull_request_batch.merged) +payload lists all the PRs included in the batch, as well as information about the repo, the target +branch you are merging into, and the test (or feature) branch: + +``` + "action": "merged", + "pr_numbers": [ + 1, + 2 + ], + "repository": { + "host": "github.com", + "name": "trunk-io", + "owner": "mergequeue" + }, + "status": "some string", + "target_branch": "main", + "test_branch": "trunk-merge/pr-1-2/abc123", + "test_branch_sha": "a23f8853080d3fe873c3419a735513898c2329f500ce6aa39cf2253213fd00e4", + "test_pr_number": 15 +} +``` + +If you aren’t using batching on your Merge Queue, the +[pull_request.merged webhook](https://www.svix.com/event-types/us/org_2eQPL41Ew5XSHxiXZIamIUIXg8H/#pull_request.merged) +is still available for individual PR merges. + +Read the [webhook docs](https://docs.trunk.io/merge-queue/webhooks) to learn how to subscribe to +Merge Queue webhooks. diff --git a/changelog/2025-05-09-sunsetting-ci-analytics-and-code-quality-web-issue-browser.mdx b/changelog/2025-05-09-sunsetting-ci-analytics-and-code-quality-web-issue-browser.mdx new file mode 100644 index 0000000..da6fc7e --- /dev/null +++ b/changelog/2025-05-09-sunsetting-ci-analytics-and-code-quality-web-issue-browser.mdx @@ -0,0 +1,49 @@ +--- +title: Sunsetting CI Analytics and Code Quality web issue browser +description: "Trunk CI Analytics and Code Quality web issue browser are being shut down today. This is a strategic change as we reinvent and consolidate our tools for the future." +slug: sunsetting-ci-analytics-and-code-quality-web-issue-browser +date: 2025-05-09 +category: Web App +--- + +Trunk CI Analytics and Code Quality web issue browser are being shut down today. This is a strategic +change as we reinvent and consolidate our tools for the future. + +#### **What’s changing?** + +- CI Analytics has been shut down as of today. +- Code Quality’s web issue browser has been shut down as of today. +- Code Quality workflows like Check Nightly and Check on PRs have been marked as deprecated and will + be shut down on **July 27th, 2025**. + +The core value of Code Quality comes from the CLI, IDE, and CI integrations, and these critical +components will continue to work as they always have. + +#### **Code Quality migration** + +Checking for issues nightly and on pull requests has been marked as deprecated. You can check if +you’re using these features in the Code Quality section of your repo settings. You can still run +Code Quality in CI if you migrate your workflow +[following this guide](https://docs.trunk.io/code-quality/setup-and-installation/prevent-new-issues/migration-guide). + +![](/assets/changelog/sunsetting-ci-analytics-and-code-quality-web-issue-browser-8zev0i.png) + +Code Quality will no longer collect your linting issues, which means the `--upload` flag will no +longer work. You will also stop receiving Slack notifications about new issues discovered by +linters. + +``` +# --upload will no longer work +trunk check --upload --series=main +``` + +#### **What's next?** + +AI has changed the way we work. It allows us to go beyond traditional dashboards to surface root +causes of test and CI instability and develop AI-driven tools to address these problems. We have +shut down these parts of Trunk to unify them as a single AI-powered DevEx platform. + +We can’t wait to show you what’s next. You can follow our progress by signing up for our +[in-app waitlist](https://link.trunk.io/e/c/eyJlbWFpbF9pZCI6ImRnU20wQWdEQU5DSEFzLUhBZ0dXZ251VHRqVHZnT1dSSjNYNkVPND0iLCJocmVmIjoiaHR0cHM6Ly9hcHAudHJ1bmsuaW8vbG9naW4_dXRtX2NhbXBhaWduPUNJK0FuYWx5dGljcythbmQrQ29kZStRdWFsaXR5K1dlYitkZXByZWNhdGlvbithbm5vdW5jZW1lbnRcdTAwMjZ1dG1fY29udGVudD1DSStBbmFseXRpY3MrZGVwcmVjYXRpb24rYW5ub3VuY2VtZW50XHUwMDI2dXRtX21lZGl1bT1lbWFpbF9hY3Rpb25cdTAwMjZ1dG1fc291cmNlPWN1c3RvbWVyLmlvIiwiaW50ZXJuYWwiOiJhNmQwMDgwMTlmMWRkMDg3MDIiLCJsaW5rX2lkIjoyNjA5fQ/ca56931b0a78b73d0a66f26688148a96585822f8e9849fd4b479509f4a3dd4b8). +If you have questions or concerns, please reach out via email (support@trunk.io) or +[Slack](https://link.trunk.io/e/c/eyJlbWFpbF9pZCI6ImRnU20wQWdEQU5DSEFzLUhBZ0dXZ251VHRqVHZnT1dSSjNYNkVPND0iLCJocmVmIjoiaHR0cHM6Ly9zbGFjay50cnVuay5pby8_dXRtX2NhbXBhaWduPUNJK0FuYWx5dGljcythbmQrQ29kZStRdWFsaXR5K1dlYitkZXByZWNhdGlvbithbm5vdW5jZW1lbnRcdTAwMjZ1dG1fY29udGVudD1DSStBbmFseXRpY3MrZGVwcmVjYXRpb24rYW5ub3VuY2VtZW50XHUwMDI2dXRtX21lZGl1bT1lbWFpbF9hY3Rpb25cdTAwMjZ1dG1fc291cmNlPWN1c3RvbWVyLmlvIiwiaW50ZXJuYWwiOiJhNmQwMDgwMTlmMWRkMDg3MDIiLCJsaW5rX2lkIjoxMX0/ac38975a2cd08f792920659e4784e7c67018cc8879c7c5ef69eb71c2ddc6ee73). diff --git a/changelog/2025-05-15-rspec-plugin-for-ruby-repos.mdx b/changelog/2025-05-15-rspec-plugin-for-ruby-repos.mdx new file mode 100644 index 0000000..eee2b42 --- /dev/null +++ b/changelog/2025-05-15-rspec-plugin-for-ruby-repos.mdx @@ -0,0 +1,66 @@ +--- +title: RSpec Plugin for Ruby repos +description: "The new Flaky Tests RSpec plugin is the best way to run RSpec tests and upload the results to Trunk." +slug: rspec-plugin-for-ruby-repos +date: 2025-05-15 +category: Flaky Tests +--- + +The new Flaky Tests RSpec plugin is the best way to run RSpec tests and upload the results to Trunk. + +The plugin provides a couple of different advantages over generating JUnit XML files when testing +with RSpec, all of which contribute to more accurate flake detection in Ruby projects: + +- By default, running RSpec tests and creating a report using `rspec_junit_formatter` will produce + programmatic test names, which makes flake detection difficult. The plugin eliminates this issue + by uploading consistent test names to Trunk. +- The plugin allows for a more direct capture of test run retries. +- Flaky tests can be quarantined as the tests run, not after the fact. + +#### Get started with `rspec_trunk_flaky_tests` + +To get started with the `rspec_trunk_flaky_tests` plugin: + +- Add the plugin gem to your Gemfile: + +``` +# Gemfile +gem "rspec_trunk_flaky_tests" +``` + +- Install the plugin by running the install command in your terminal + +``` +bundler install +``` + +- Load the plugin in `spec_helper.rb`: + +``` +# Add to spec/spec_helper.rb +require "trunk_spec_helper" +``` + +Don’t forget to +[disable automatic retries on failures](https://docs.trunk.io/flaky-tests/get-started/frameworks/rspec#disable-retries). + +That’s it, you are ready to run your RSpec tests and upload the results to Trunk. Start by uploading +locally run test results: + +``` +TRUNK_ORG_URL_SLUG= \ +TRUNK_API_TOKEN= \ +bundle exec rspec +``` + +Your `TRUNK_ORG_URL_SLUG` and `TRUNK_API_TOKEN` are found under **Settings** in the Trunk web app. + +When you run this command locally, your RSpec tests will run, and results will automatically be +uploaded to Trunk. Any uploaded results will be displayed in the **Uploads** tab. + +The last step is +[integrating with your CI provider](https://docs.trunk.io/flaky-tests/get-started/ci-providers). +After integrating, Trunk will automatically detect and quarantine your flaky tests every time the CI +job runs. + +See the [RSpec docs](https://docs.trunk.io/flaky-tests/get-started/frameworks/rspec) for more info. diff --git a/changelog/2025-05-21-improved-test-failure-details.mdx b/changelog/2025-05-21-improved-test-failure-details.mdx new file mode 100644 index 0000000..b1113aa --- /dev/null +++ b/changelog/2025-05-21-improved-test-failure-details.mdx @@ -0,0 +1,29 @@ +--- +title: "Flaky Tests: Improved test failure details" +description: "More changes have landed on the Flaky Tests dashboard: unique failure details on the test details page are now available in a single table view." +slug: improved-test-failure-details +date: 2025-05-21 +category: Flaky Tests +--- + +More changes have landed on the Flaky Tests dashboard: unique failure details on the test details +page are now available in a single table view. + +This table is helpful for developers tasked with debugging and fixing flakes. Trunk uses AI to +automatically group related failure reasons for an individual test and presents them in a single +table: + +![](/assets/changelog/improved-test-failure-details-xhb9ly.png) + +The test summary, charts that display quarantine or error status, count, and dates of failures help +you determine where to start your investigation. Each unique failure reason can also be expanded to +show all historical stack traces for that failure type: + +![](/assets/changelog/improved-test-failure-details-tdt8wq.png) + +This means that all the information you need to start debugging flaky tests is in a single place. +Developers don’t have to manually dig through historical CI logs to unearth various stack traces and +logs. + +Have questions or feedback on the updates? +[Reach out on our community Slack](https://slack.trunk.io). diff --git a/changelog/2025-05-28-cli-1-24-0.mdx b/changelog/2025-05-28-cli-1-24-0.mdx new file mode 100644 index 0000000..b609465 --- /dev/null +++ b/changelog/2025-05-28-cli-1-24-0.mdx @@ -0,0 +1,32 @@ +--- +title: CLI 1.24.0 +description: "Updated embedded CURL to v8.13 (enables support for running inside Open AI Codex); Formatting issues can now be downgraded to non-blocking using the threshold value like any other linter issue." +slug: cli-1-24-0 +date: 2025-05-28 +category: Code Quality +--- + +**✨ Improvements** + +- Updated embedded CURL to v8.13 (enables support for running inside Open AI Codex) +- Formatting issues can now be downgraded to non-blocking using the `threshold` value like any other + linter issue. To make use of this feature you need to set the unformatted_level for any formatters + you want to control this way as such: + +``` +lint: + definitions: + - name: foo_formatter + commands: + - name: format + ... + formatter: true + unformatted_level: low +``` + +\*\* + +🔧 Fixes\*\* + +- Specifying a runtime with equality operator will use system version if available. (e.g. + ruby@=3.4.2 will now use ruby found on PATH if version matches exactly) diff --git a/changelog/2025-05-28-merge-queue-failure-tab-only-displays-current-failures.mdx b/changelog/2025-05-28-merge-queue-failure-tab-only-displays-current-failures.mdx new file mode 100644 index 0000000..d0a5fad --- /dev/null +++ b/changelog/2025-05-28-merge-queue-failure-tab-only-displays-current-failures.mdx @@ -0,0 +1,16 @@ +--- +title: "Merge Queue: Failure tab only displays current failures" +description: "We’ve updated the Merge Queue Failure tab so that only PRs that failed and have not been resubmitted to the queue are displayed." +slug: merge-queue-failure-tab-only-displays-current-failures +date: 2025-05-28 +category: Merge Queue +--- + +We’ve updated the Merge Queue **Failure** tab so that only PRs that failed and have not been +resubmitted to the queue are displayed. + +Previously, the **Failure** tab contained a list of all historical PR failures, making it difficult +to identify current failures requiring action. This change gives you a concise list of PR failures +that can be fixed and resubmitted to the queue. Upon resubmission, the PR is removed from the page. + +![A screenshot of the Failures tab for Merge Queue, displaying a table with 3 failed PRs. Each PR is a row in the table, and has PR#, title, failure time and a link to details.](/assets/changelog/merge-queue-failure-tab-only-displays-current-failures-ox1931.png) diff --git a/changelog/2025-05-28-plugins-1-7-0.mdx b/changelog/2025-05-28-plugins-1-7-0.mdx new file mode 100644 index 0000000..dd99788 --- /dev/null +++ b/changelog/2025-05-28-plugins-1-7-0.mdx @@ -0,0 +1,17 @@ +--- +title: Plugins 1.7.0 +description: "✨ Improvements" +slug: plugins-1-7-0 +date: 2025-05-28 +category: Code Quality +--- + +✨ Improvements + +- Python runtime environment now passes thru required environment variables for PIP and Request + component to work correctly with proxies and custom certificates +- Updated dependencies in local package.json and node runtime bumped to 22 LTS + +🔧 Fixes + +- Fixed up some testing environment to better support some linter specifications diff --git a/changelog/2025-06-11-flaky-tests-test-case-quarantining-setting-changed-webhook.mdx b/changelog/2025-06-11-flaky-tests-test-case-quarantining-setting-changed-webhook.mdx new file mode 100644 index 0000000..2d7a01a --- /dev/null +++ b/changelog/2025-06-11-flaky-tests-test-case-quarantining-setting-changed-webhook.mdx @@ -0,0 +1,72 @@ +--- +title: "Flaky Tests: test_case.quarantining_setting_changed webhook" +description: "We’re happy to announce that a new testcase.quarantiningsetting_changed webhook is now available for all Flaky Tests users." +slug: flaky-tests-test-case-quarantining-setting-changed-webhook +date: 2025-06-11 +category: Flaky Tests +--- + +We’re happy to announce that a new `test_case.quarantining_setting_changed` webhook is now available +for all Flaky Tests users. + +This webhook is fired when a test’s quarantine setting is manually changed between +`ALWAYS_QUARANTINE`, `NEVER_QUARANTINE`, or `UNSPECIFIED`, where `UNSPECIFIED` means that the repo’s +quarantine settings will be applied to the test case. + +The webhook payload contains useful details like the new and previous settings, a user-inputted +reason for the change, who made the change, and all the info you need for the affected test case: + +``` +{ + "quarantine_setting_changed": { + "actor": { + "email": "riley@trunk.io", + "full_name": "Riley Draward" + }, + "previous_quarantining_setting": "UNSPECIFIED", + "reason": "Test is important, should not be quarantined!", + "timestamp": "2025-06-11T14:17:06.251Z", + "updated_quarantining_setting": "NEVER_QUARANTINE" + }, + "test_case": { + "codeowners": [], + "failure_rate_last_7d": 0, + "html_url": "https://app.trunk.io/rileys-org/flaky-tests/test/cd7ef2fe-0ec1-5e40-a323-027029579f5b?repo=rdraward%2Fflaky-remix", + "id": "cd7ef2fe-0ec1-5e40-a323-027029579f5b", + "most_common_failures": [], + "name": "sums some nums > adds 1 + 1 to equal 2", + "pull_requests_impacted_last_7d": 0, + "quarantined": false, + "repository": { + "html_url": "https://github.com/rdraward/flaky-remix" + }, + "status": { + "reason": "", + "timestamp": "2025-03-17T21:53:43.327Z", + "value": "flaky" + }, + "test_suite": "app/utils/sum.test.ts", + "ticket": { + "html_url": "https://linear.app/riley-at-trunk/issue/RIL-10/[flaky-test]-apputilssumtestts-sums-some-nums-adds-1-1-to-equal-2" + }, + "variant": "" + }, + "type": "test_case.quarantining_setting_changed" +} +``` + +This allows you to build automations and custom workflows when a test’s quarantine setting is +changed, such as automatically creating Linear or Jira tickets to fix flaky or broken tests marked +as `ALWAYS_QUARANTINED`, or sending a message to the team in Slack so everyone is kept up to date on +status changes. + +To subscribe to the new webhook: + +1. Go to **Settings** in the Trunk app. +2. Click on **Webhooks** under Organization. +3. Click **Add Endpoint** and connect to an existing endpoint, Slack, MS Teams, Linear, or Jira. +4. Follow our + [guides for handling the webhook payload](https://docs.trunk.io/flaky-tests/webhooks). + +For more information on the webhook events, +[check out our Svix documentation](https://www.svix.com/event-types/us/org_2eQPL41Ew5XSHxiXZIamIUIXg8H/#test_case.quarantining_setting_changed). diff --git a/changelog/2025-06-18-test-suite-and-class-available-on-test-details-page.mdx b/changelog/2025-06-18-test-suite-and-class-available-on-test-details-page.mdx new file mode 100644 index 0000000..b417280 --- /dev/null +++ b/changelog/2025-06-18-test-suite-and-class-available-on-test-details-page.mdx @@ -0,0 +1,23 @@ +--- +title: "Flaky Tests: Test suite and class available on test details page" +description: "The names of a test’s suite and class are now visible on the test details page of the flaky test dashboard, along with a file search link for repos using either GitHub or Bitbucket as source control…" +slug: test-suite-and-class-available-on-test-details-page +date: 2025-06-18 +category: Flaky Tests +--- + +The names of a test’s suite and class are now visible on the test details page of the flaky test +dashboard, along with a file search link for repos using either GitHub or Bitbucket as source +control providers. + +![](/assets/changelog/test-suite-and-class-available-on-test-details-page-pul21b.png) + +This additional information helps you navigate to the correct test when investigating flakiness or +failures, and is particularly helpful in large projects and monorepos. + +The suite and class will only be displayed if your test framework reporter includes that information +in the JUnit XML test report uploaded to Trunk. + +We will also attempt to add a file search link for projects using GitHub or Bitbucket for source +control. It is not always possible to provide a link to the file, depending on how project files are +compiled and whether or not those files are available in source control. diff --git a/changelog/2025-06-24-plugins-1-7-1.mdx b/changelog/2025-06-24-plugins-1-7-1.mdx new file mode 100644 index 0000000..ffa9135 --- /dev/null +++ b/changelog/2025-06-24-plugins-1-7-1.mdx @@ -0,0 +1,17 @@ +--- +title: Plugins 1.7.1 +description: "🎁 New" +slug: plugins-1-7-1 +date: 2025-06-24 +category: Code Quality +--- + +🎁 New + +- New linter [yamlfmt](https://github.com/google/yamlfmt) +- New tool [flyway](https://github.com/flyway/flyway) +- New [uv](https://github.com/astral-sh/uv) actions + +🔧 Fixes + +- Forward additional env vars for `git-lfs` diff --git a/changelog/2025-06-25-flaky-tests-manual-test-status-overrides.mdx b/changelog/2025-06-25-flaky-tests-manual-test-status-overrides.mdx new file mode 100644 index 0000000..5f95357 --- /dev/null +++ b/changelog/2025-06-25-flaky-tests-manual-test-status-overrides.mdx @@ -0,0 +1,34 @@ +--- +title: "Flaky Tests: Manual test status overrides" +description: "You can now manually set a test’s status to Flaky, Healthy, or Broken in the Flaky Tests dashboard." +slug: flaky-tests-manual-test-status-overrides +date: 2025-06-25 +category: Flaky Tests +--- + +You can now manually set a test’s status to Flaky, Healthy, or Broken in the Flaky Tests dashboard. + +This means you can take advantage of Flaky Tests quarantining to unblock CI when you already know +that a test has a high chance of failing, like in the case of a service outage affecting end-to-end +tests. + +This is not a permanent override. Flaky Tests will continue to classify this test using this new +status.  + +For example, if a test status is manually set to Healthy but becomes flaky after a series of CI +runs, Flaky Tests will mark the test as Flaky. + +To update a test’s status: + +- Click the **Edit** button next to the test status in the Flaky Tests dashboard: + +![](/assets/changelog/flaky-tests-manual-test-status-overrides-q4yjf.png) + +- Enter a comment, and click **Save Status**. + +![](/assets/changelog/flaky-tests-manual-test-status-overrides-pq5e3b.png) + +The status change and comment will appear in the timeline on the test detail page. + +Manual test status overrides will not be enabled by default. Reach out to us on our +[community Slack](https://slack.trunk.io/) to enable it for your organization. diff --git a/changelog/2025-07-02-flaky-tests-commit-details-in-timeline.mdx b/changelog/2025-07-02-flaky-tests-commit-details-in-timeline.mdx new file mode 100644 index 0000000..6adb2d0 --- /dev/null +++ b/changelog/2025-07-02-flaky-tests-commit-details-in-timeline.mdx @@ -0,0 +1,28 @@ +--- +title: "Flaky Tests: Commit details in timeline" +description: "We’ve added additional details about commits that trigger test status changes to test timelines in the Flaky Tests dashboard." +slug: flaky-tests-commit-details-in-timeline +date: 2025-07-02 +category: Flaky Tests +--- + +We’ve added additional details about commits that trigger test status changes to test timelines in +the Flaky Tests dashboard. + +A test will be identified as flaky if it produces inconsistent results on the same git commit. This +is often seen when test failures are automatically retried in CI. This flaky behavior can be +detected on stable branches (for example, main), PR branches, or merge branches. + +Previously, Flaky Tests did not specify what type of commit led to a status change in the flaky test +dashboard. The same “Inconsistent results on the same commit” message would be included in the +timeline on the test details page. + +Now, the timeline will say where inconsistent test results are seen, whether it is a stable, PR, or +merge commit: + +![](/assets/changelog/flaky-tests-commit-details-in-timeline-6l0s2r.png) + +When there is a status change due to a stable branch commit, the name of the branch will be included +in the message. + +This helps to easily identify the source of flakiness when tests are rerun on the same commit. diff --git a/changelog/2025-08-12-code-quality-plugins-1-7-2-and-cli-1-25-0.mdx b/changelog/2025-08-12-code-quality-plugins-1-7-2-and-cli-1-25-0.mdx new file mode 100644 index 0000000..bcd99ab --- /dev/null +++ b/changelog/2025-08-12-code-quality-plugins-1-7-2-and-cli-1-25-0.mdx @@ -0,0 +1,21 @@ +--- +title: "Code Quality: Plugins 1.7.2 and CLI 1.25.0" +description: "New linter: ls-lint. Thank you @nenadfilipovic for the contribution!" +slug: code-quality-plugins-1-7-2-and-cli-1-25-0 +date: 2025-08-12 +category: Code Quality +--- + +**🎁 New** + +- New linter: [ls-lint](https://ls-lint.org/). Thank you @nenadfilipovic for the contribution! + +**✨ Improvements** + +- Add new file types, `jpg`, `gip`, `pcap`, `tif`, `webp` +- Update `known_good_version` for `shellcheck`, `flake8`, `prettier`, `black`, `tflint`. Thank + you @yu-iskw for the contribution! +- Ignore list for a linter will no longer error if a specifically ignored file in the list is not + found. This better matches behavior of glob pattern ignores. +- Performance improvements in launch time +- Various bug fixes diff --git a/changelog/2025-08-15-ci-autopilot-private-beta-initial-release.mdx b/changelog/2025-08-15-ci-autopilot-private-beta-initial-release.mdx new file mode 100644 index 0000000..3254647 --- /dev/null +++ b/changelog/2025-08-15-ci-autopilot-private-beta-initial-release.mdx @@ -0,0 +1,15 @@ +--- +title: "CI Autopilot: Private beta initial release" +description: "Core features in this release:" +slug: ci-autopilot-private-beta-initial-release +date: 2025-08-15 +category: CI Autopilot +--- + +**🎉 CI Autopilot Private Beta is Live** + +Core features in this release: + +- Automatic root cause analysis of failing tests and CI jobs +- AI-powered fix generation with stacked PR creation +- Integration with GitHub Actions and popular test frameworks diff --git a/changelog/2025-08-25-ci-autopilot-stacked-prs-ci-triggers-and-mcp-support.mdx b/changelog/2025-08-25-ci-autopilot-stacked-prs-ci-triggers-and-mcp-support.mdx new file mode 100644 index 0000000..87ca4e8 --- /dev/null +++ b/changelog/2025-08-25-ci-autopilot-stacked-prs-ci-triggers-and-mcp-support.mdx @@ -0,0 +1,13 @@ +--- +title: "CI Autopilot: Stacked PRs, CI Triggers and MCP support" +description: "Onboarding UX improvements; Stacked PR User experience improvements to generate less noise in your repo/feeds." +slug: ci-autopilot-stacked-prs-ci-triggers-and-mcp-support +date: 2025-08-25 +category: CI Autopilot +--- + +- Onboarding UX improvements +- Stacked PR User experience improvements to generate less noise in your repo/feeds +- Support for commands in GitHub comments (give `/trunk fix`) +- Added triggers on CI failures, rather than only triggering on bulk uploads +- **MCP support** - get root causes and recommendations diff --git a/changelog/2025-08-25-flaky-tests-new-endpoint-and-xcode-26-support.mdx b/changelog/2025-08-25-flaky-tests-new-endpoint-and-xcode-26-support.mdx new file mode 100644 index 0000000..1a84d17 --- /dev/null +++ b/changelog/2025-08-25-flaky-tests-new-endpoint-and-xcode-26-support.mdx @@ -0,0 +1,11 @@ +--- +title: "Flaky Tests: New endpoint and XCode 26 support" +description: "A new endpoint is available from the trunk api at /flaky-tests/list-unhealthy-tests for your CI/CD integrations." +slug: flaky-tests-new-endpoint-and-xcode-26-support +date: 2025-08-25 +category: Flaky Tests +--- + +- A new endpoint is available from the trunk api at `/flaky-tests/list-unhealthy-tests` for your + CI/CD integrations. Open tickets based on PRs impacted or other theshholds for example. +- CLI support for XCode 26 and for PR URL overrides. diff --git a/changelog/2025-09-01-ui-refresh-enhanced-dashboard-experience.mdx b/changelog/2025-09-01-ui-refresh-enhanced-dashboard-experience.mdx new file mode 100644 index 0000000..af613ca --- /dev/null +++ b/changelog/2025-09-01-ui-refresh-enhanced-dashboard-experience.mdx @@ -0,0 +1,37 @@ +--- +title: "UI refresh: Enhanced dashboard experience" +description: "We've redesigned the app with a visual-first approach that helps you spot critical issues at a glance instead of digging through data. Plus, get a sneak peek at our new CI Autopilot interface!" +slug: ui-refresh-enhanced-dashboard-experience +date: 2025-09-01 +category: Web App +--- + +![](/assets/changelog/ui-refresh-enhanced-dashboard-experience-jtly3s.png) + +We've redesigned the app with a visual-first approach that helps you spot critical issues at a +glance instead of digging through data. Plus, get a sneak peek at our new CI Autopilot interface! + +**Flaky Test Dashboard** + +![](/assets/changelog/ui-refresh-enhanced-dashboard-experience-am9gam.png) + +- Simplified test metrics display for faster comprehension +- Redesigned history graph with linear timeline view (replacing stacked daily format) +- Added "Most Unstable Tests" section to prioritize critical fixes +- Enhanced visual-first design - optimized for scanning rather than reading +- New manual override button for test status control +- Improved test history with streamlined linear timeline + +**Merge Queue** + +![](/assets/changelog/ui-refresh-enhanced-dashboard-experience-hqzbno.png) + +- Updated merge queue timeline for clearer workflow visibility +- Enhanced merge log visuals with improved scanability and visual hierarchy + +**🚀 Sneak Peek: CI Autopilot** + +![](/assets/changelog/ui-refresh-enhanced-dashboard-experience-twjw1s.png) + +- New dedicated interface for CI Autopilot (Beta preview) +- _Stay tuned for more details coming soon!_ diff --git a/changelog/2025-09-09-flaky-test-corrected-cli-test-failure-reporting-flag.mdx b/changelog/2025-09-09-flaky-test-corrected-cli-test-failure-reporting-flag.mdx new file mode 100644 index 0000000..605eb82 --- /dev/null +++ b/changelog/2025-09-09-flaky-test-corrected-cli-test-failure-reporting-flag.mdx @@ -0,0 +1,20 @@ +--- +title: "Flaky Test: Corrected CLI test failure reporting flag" +description: "Resolved an issue where test failures were not being reported or displayed when using the --disable-quarantining flag." +slug: flaky-test-corrected-cli-test-failure-reporting-flag +date: 2025-09-09 +category: Flaky Tests +--- + +Resolved an issue where test failures were not being reported or displayed when using the +`--disable-quarantining` flag. + +- **What was happening**: When `--disable-quarantining` was specified, failing tests were not being + compared against quarantine state, preventing failure reporting and causing the CLI to skip + displaying test failure information +- **Root cause**: The quarantining check was being applied too broadly, affecting both quarantine + state fetching AND test failure context building +- **Impact**: Users saw no failure output and couldn't identify which tests were failing when using + this flag +- **Resolution**: Limited the quarantine disabling logic to only apply when fetching quarantine + state, not when building test context diff --git a/changelog/2025-09-09-flaky-tests-auto-quarantine-no-longer-applied-to-broken-tests.mdx b/changelog/2025-09-09-flaky-tests-auto-quarantine-no-longer-applied-to-broken-tests.mdx new file mode 100644 index 0000000..4f81503 --- /dev/null +++ b/changelog/2025-09-09-flaky-tests-auto-quarantine-no-longer-applied-to-broken-tests.mdx @@ -0,0 +1,18 @@ +--- +title: "Flaky Tests: Auto quarantine no longer applied to broken tests" +description: "Auto-quarantining test cases have been updated to target only 'flaky' tests specifically. Previously, both 'flaky' and 'broken' tests were subject to automatic quarantine." +slug: flaky-tests-auto-quarantine-no-longer-applied-to-broken-tests +date: 2025-09-09 +category: Flaky Tests +--- + +Auto-quarantining test cases have been updated to target only 'flaky' tests specifically. +Previously, both 'flaky' and 'broken' tests were subject to automatic quarantine. + +This ensures that only tests exhibiting inconsistent behavior (flakiness) are automatically +quarantined, while genuinely broken tests require manual intervention or different handling. + +Verify tests are broken using the test details page, and look for "**Marked as Broken (Not +Quarantining)**" in the test history. + +![](/assets/changelog/flaky-tests-auto-quarantine-no-longer-applied-to-broken-tests-g9qcpy.png) diff --git a/changelog/2025-10-09-plugins-1-7-3.mdx b/changelog/2025-10-09-plugins-1-7-3.mdx new file mode 100644 index 0000000..1fe4cd0 --- /dev/null +++ b/changelog/2025-10-09-plugins-1-7-3.mdx @@ -0,0 +1,21 @@ +--- +title: Plugins 1.7.3 +description: "🎁 New" +slug: plugins-1-7-3 +date: 2025-10-09 +category: Code Quality +--- + +🎁 New + +- New formatter, [nbstripout](https://github.com/kynan/nbstripout#readme). Thanks @NellyWhads for + the contribution! + +✨ Improvements + +- Add all supported config paths for `cspell`. Thanks @casaper for the contribution! + +🔧 Fixes + +- Fix `hadolint` download urls for >=2.13.1. Thanks @gejustin for the contribution! +- Fix install for `psscriptanalyzer` diff --git a/changelog/2025-11-12-plugins-1-7-4.mdx b/changelog/2025-11-12-plugins-1-7-4.mdx new file mode 100644 index 0000000..a54e774 --- /dev/null +++ b/changelog/2025-11-12-plugins-1-7-4.mdx @@ -0,0 +1,17 @@ +--- +title: Plugins 1.7.4 +description: "✨ Improvements" +slug: plugins-1-7-4 +date: 2025-11-12 +category: Code Quality +--- + +✨ Improvements + +- Improve `dart` configuration. Thanks @AndrewDongminYoo for the contribution! +- Update linters' `known_good_version` to latest validated + +🔧 Fixes + +- Support `dotenv-linter@4.x` +- Fix latest `terragrunt` support diff --git a/changelog/2025-11-18-flaky-tests-new-api-endpoints.mdx b/changelog/2025-11-18-flaky-tests-new-api-endpoints.mdx new file mode 100644 index 0000000..afe1902 --- /dev/null +++ b/changelog/2025-11-18-flaky-tests-new-api-endpoints.mdx @@ -0,0 +1,51 @@ +--- +title: "Flaky Tests: New API endpoints" +description: "We’ve added three new endpoints to make it easier to investigate flaky tests, automate triage, and integrate test health into your workflows." +slug: flaky-tests-new-api-endpoints +date: 2025-11-18 +category: Flaky Tests +--- + +We’ve added three new endpoints to make it easier to investigate flaky tests, automate triage, and +integrate test health into your workflows. + +### **📝 /flaky-tests/get-test-details** + +You can now retrieve **details for a single test by ID**, without having to paginate through entire +lists of unhealthy tests. + +**What’s new?** + +- New request-body filter: `test_id` +- Response returns **only the matching test** +- Enables fast, targeted detail lookups for downstream automations + +[Read the Docs](https://docs.trunk.io/flaky-tests/flaky-tests#post-flaky-tests-get-test-details) + +--- + +### **🫙 /flaky-tests/list-quarantined-tests** + +A new way to list quarantined tests **with the timestamp of when each test was quarantined**. + +**What’s new?** + +- Response now includes the **timestamp of when the quarantine override was created** +- If no override audit log exists, the timestamp defaults to the test’s status-change time +- Ideal for automated “this test has been quarantined too long” workflows + +[Read the Docs](https://docs.trunk.io/flaky-tests/flaky-tests#post-flaky-tests-list-quarantined-tests) + +--- + +### **⚠️ /flaky-tests/list-failing-tests** + +A new endpoint to help teams select which tests should run during weekly flaky-test burn-down jobs. + +**What’s new?** + +- Query for tests that have **failed within the last week** +- Helps keep flaky jobs focused, faster, and more cost-efficient +- Useful for scheduling targeted “high-value” retest runs + +[Read the Docs](https://docs.trunk.io/flaky-tests/flaky-tests#post-flaky-tests-list-failing-tests) diff --git a/changelog/2026-01-02-merge-queue-test-caching-for-batch-failure-isolation.mdx b/changelog/2026-01-02-merge-queue-test-caching-for-batch-failure-isolation.mdx new file mode 100644 index 0000000..26720af --- /dev/null +++ b/changelog/2026-01-02-merge-queue-test-caching-for-batch-failure-isolation.mdx @@ -0,0 +1,24 @@ +--- +title: "Merge Queue: Test Caching for Batch Failure Isolation" +description: "When you use batching mode, the merge queue tests multiple PRs together for efficiency. If a batch fails, the queue needs to figure out which specific PR caused the problem by splitting the batch…" +slug: merge-queue-test-caching-for-batch-failure-isolation +date: 2026-01-02 +category: Merge Queue +--- + +**Intelligently reuse test results when isolating failures in batched PRs to save CI resources** + +When you use batching mode, the merge queue tests multiple PRs together for efficiency. If a batch +fails, the queue needs to figure out which specific PR caused the problem by splitting the batch +apart and retesting smaller groups.  + +With this optimization, the merge queue will recognize when it's about to run a test that it has +already run during the isolation process. If we already know a test will fail based on earlier +results, we skip rerunning it and reuse that information.  + +This means faster failure isolation when batches break, significant CI cost savings during the +bisection process (especially important for large batches or expensive test suites), and quicker +feedback about which PR needs fixing. + +[Read the Docs](https://docs.trunk.io/merge-queue/optimizations/batching#test-caching-during-bisection) +to learn more diff --git a/changelog/2026-01-07-merge-queue-independent-concurrency-for-batch-bisection.mdx b/changelog/2026-01-07-merge-queue-independent-concurrency-for-batch-bisection.mdx new file mode 100644 index 0000000..db88560 --- /dev/null +++ b/changelog/2026-01-07-merge-queue-independent-concurrency-for-batch-bisection.mdx @@ -0,0 +1,27 @@ +--- +title: "Merge Queue: Independent Concurrency for Batch Bisection" +description: "When a batch of PRs fails and needs to be split apart to identify the culprit, you want those bisection tests to run as fast as possible so developers get quick feedback about what broke." +slug: merge-queue-independent-concurrency-for-batch-bisection +date: 2026-01-07 +category: Merge Queue +--- + +**Set higher test concurrency for failure isolation without slowing down your main merge queue** + +When a batch of PRs fails and needs to be split apart to identify the culprit, you want those +bisection tests to run as fast as possible so developers get quick feedback about what broke.  + +![](/assets/changelog/merge-queue-independent-concurrency-for-batch-bisection-6ytyzg.png) + +Previously, bisection tests shared the same concurrency limit as your main queue, meaning the +isolation process could slow down other PRs waiting to merge. With independent concurrency settings, +you can configure bisection to run at higher concurrency (spinning up more test runners to isolate +failures ASAP) while keeping your main queue at its optimal setting.  + +This means faster root cause identification when batches fail, no impact on your main queue's +throughput during failure investigation, and the flexibility to optimize each workflow +independently. You can be aggressive about isolating problems without sacrificing the steady flow of +successful PRs through your queue. + +[Read the Docs](https://docs.trunk.io/merge-queue/optimizations/batching#bisection-testing-concurrency) +to learn more diff --git a/changelog/2026-01-09-merge-queue-direct-merge-to-main.mdx b/changelog/2026-01-09-merge-queue-direct-merge-to-main.mdx new file mode 100644 index 0000000..6ce6cef --- /dev/null +++ b/changelog/2026-01-09-merge-queue-direct-merge-to-main.mdx @@ -0,0 +1,21 @@ +--- +title: "Merge Queue: Direct Merge to Main" +description: "Skip redundant testing and merge immediately when your PR is already up-to-date and the queue is empty" +slug: merge-queue-direct-merge-to-main +date: 2026-01-09 +category: Merge Queue +--- + +**Skip redundant testing and merge immediately when your PR is already up-to-date and the queue is +empty** + +![](/assets/changelog/merge-queue-direct-merge-to-main-evezyw.png) + +The merge queue exists to test your PR against the latest version of main, but if your PR is already +based on the tip of main and the queue is empty, rerunning tests provides no additional value; +you've already tested against the exact state your PR will merge into.  + +With this optimization, Trunk Merge Queue will recognize this situation and merge your PR directly +without the unnecessary wait. + +[Read the Docs](https://docs.trunk.io/merge-queue/optimizations/direct-merge-to-main) to learn more diff --git a/changelog/2026-01-14-merge-queue-filter-metrics-by-impacted-targets.mdx b/changelog/2026-01-14-merge-queue-filter-metrics-by-impacted-targets.mdx new file mode 100644 index 0000000..7f514d3 --- /dev/null +++ b/changelog/2026-01-14-merge-queue-filter-metrics-by-impacted-targets.mdx @@ -0,0 +1,24 @@ +--- +title: "Merge Queue: Filter Metrics by Impacted Targets" +description: "Now you can filter merge queue health metrics by impacted targets to see exactly how well this parallel workflow is performing for each part of your codebase." +slug: merge-queue-filter-metrics-by-impacted-targets +date: 2026-01-14 +category: Merge Queue +--- + +**Analyze merge queue performance for specific parts of your codebase** + +![](/assets/changelog/merge-queue-filter-metrics-by-impacted-targets-s0hj01.png) + +Now you can filter merge queue health metrics by impacted targets to see exactly how well this +parallel workflow is performing for each part of your codebase. For example, in a TypeScript/Python +monorepo, you can view metrics specifically for TypeScript PRs versus Python PRs, identify if one +team is experiencing slower merge times than another, and optimize queue configuration for your +highest-priority code paths.  + +This visibility helps you demonstrate the value of parallel mode to engineering leadership, ensure +fair queue performance across teams, and make data-driven decisions about how different parts of +your codebase move through the merge process and priorities. + +[Read the Docs](https://docs.trunk.io/merge-queue/administration/metrics#filter-metrics-by-impacted-targets) +to learn more diff --git a/changelog/2026-01-23-merge-queue-support-additional-merge-methods.mdx b/changelog/2026-01-23-merge-queue-support-additional-merge-methods.mdx new file mode 100644 index 0000000..3499cca --- /dev/null +++ b/changelog/2026-01-23-merge-queue-support-additional-merge-methods.mdx @@ -0,0 +1,28 @@ +--- +title: "Merge Queue: Support Additional Merge Methods" +description: "You can now select your preferred merge method for PRs going through the merge queue. Previously, Trunk Merge only supported squash merging, which combines all commits into a single commit." +slug: merge-queue-support-additional-merge-methods +date: 2026-01-23 +category: Merge Queue +--- + +**Choose how your PRs get merged: squash, merge commit, or rebase.** + +![](/assets/changelog/merge-queue-support-additional-merge-methods-2wvyp4.png) + +You can now select your preferred merge method for PRs going through the merge queue. Previously, +Trunk Merge only supported squash merging, which combines all commits into a single commit. Now you +can choose between: + +- **Squash** (default) - Combines all commits into a single commit +- **Merge commit** - Preserves all individual commits and creates a merge commit +- **Rebase** - Replays commits on top of main for a linear history + +This flexibility means you can match your team's existing Git workflow preferences, maintain your +desired commit history style, and satisfy different requirements across projects. Whether you want a +clean linear history with squash, full commit preservation with merge commits, or a streamlined +history with rebase, your merge queue now adapts to your team's practices instead of forcing you to +change them. + +[Read the Docs](https://docs.trunk.io/merge-queue/administration/advanced-settings#merge-method) to +learn more diff --git a/changelog/2026-01-30-merge-queue-personal-slack-notifications.mdx b/changelog/2026-01-30-merge-queue-personal-slack-notifications.mdx new file mode 100644 index 0000000..886eca1 --- /dev/null +++ b/changelog/2026-01-30-merge-queue-personal-slack-notifications.mdx @@ -0,0 +1,31 @@ +--- +title: "Merge Queue: Personal Slack Notifications" +description: "Get direct messages in Slack about your PRs in the merge queue, keeping you informed without adding noise to team channels and allowing you to address failures immediately." +slug: merge-queue-personal-slack-notifications +date: 2026-01-30 +category: Merge Queue +--- + +Get direct messages in Slack about your PRs in the merge queue, keeping you informed without adding +noise to team channels and allowing you to address failures immediately. + +![](/assets/changelog/merge-queue-personal-slack-notifications-9ugq86.png) + +Receive personalized Slack DMs when your PRs are queued, start testing, pass tests, get merged, or +encounter issues. By linking your GitHub account to your Trunk account and configuring your +notification preferences, you'll stay up-to-date on the progress of your code through the merge +queue without needing to check the web UI or monitor shared channels. + +This means you can focus on your work while staying informed about your own PRs, get immediate +alerts when your PR fails so you can address issues right away, and reduce noise in team channels by +keeping personal updates private. Whether you're waiting for a critical hotfix to merge or just want +peace of mind about your code's progress, personal notifications ensure you never miss an important +update about your pull requests. + +To get started, navigate to **User Settings > Notifications**, connect your GitHub and Slack +accounts, and choose which events should trigger notifications. You can customize exactly which +updates you want to receive, from every stage of the merge process to just the critical events like +failures and successful merges. + +[Read the Docs](https://docs.trunk.io/merge-queue/integration-for-slack#personal-slack-notifications) +to learn more diff --git a/changelog/2026-02-02-flaky-tests-infrastructure-failure-protection.mdx b/changelog/2026-02-02-flaky-tests-infrastructure-failure-protection.mdx new file mode 100644 index 0000000..6e29609 --- /dev/null +++ b/changelog/2026-02-02-flaky-tests-infrastructure-failure-protection.mdx @@ -0,0 +1,20 @@ +--- +title: "Flaky Tests: Infrastructure Failure Protection" +description: "When infrastructure issues like database outages, network problems, or CI runner failures cause a large number of tests to fail simultaneously, retrying those tests can trigger mass false flaky…" +slug: flaky-tests-infrastructure-failure-protection +date: 2026-02-02 +category: Flaky Tests +--- + +When infrastructure issues like database outages, network problems, or CI runner failures cause a +large number of tests to fail simultaneously, retrying those tests can trigger mass false flaky +detections. Infrastructure Failure Protection identifies these scenarios and excludes them from +flakiness detection. + +![](/assets/changelog/flaky-tests-infrastructure-failure-protection-yql4qd.png) + +By enabling this setting, you can set a threshold for filtering runs based on the percentage of +failed tests; if failures exceed 80%, those tests won't be processed for flaky test detection and +you'll see a new status in the Uploads tab indicating 'Upload Skipped Due to Infrastructure Error'. + +[Read the Docs](https://docs.trunk.io/flaky-tests/infrastructure-failure-protection) to learn more diff --git a/changelog/2026-02-06-merge-queue-public-api-for-queue-management.mdx b/changelog/2026-02-06-merge-queue-public-api-for-queue-management.mdx new file mode 100644 index 0000000..a8f9080 --- /dev/null +++ b/changelog/2026-02-06-merge-queue-public-api-for-queue-management.mdx @@ -0,0 +1,25 @@ +--- +title: "Merge Queue: Public API for Queue Management" +description: "You can now fully manage your merge queues through the Trunk API without touching the web UI." +slug: merge-queue-public-api-for-queue-management +date: 2026-02-06 +category: Merge Queue +--- + +**Programmatically create, configure, and manage merge queues via REST API** + +You can now fully manage your merge queues through the Trunk API without touching the web UI. + +- Create new queues with `/createQueue`, specifying your target branch, mode (single or parallel), + and concurrency settings. Update queue configuration on the fly with `/updateQueue`—adjust + concurrency, enable batching, set testing timeouts, pause or drain the queue, and more. +- Query queue status with `/getQueue` and clean up with `/deleteQueue` when a queue is no longer + needed. + +This opens up powerful automation possibilities: spin up queues for new release branches as part of +your release process, dynamically adjust concurrency based on CI capacity, integrate queue +management into your infrastructure-as-code workflows, or build custom dashboards using queue data. +Teams managing multiple repositories or complex branching strategies can now script their entire +merge queue infrastructure instead of clicking through settings one by one. + +[Read the Docs](https://docs.trunk.io/merge-queue/reference/merge#queue-endpoints) to learn more diff --git a/changelog/2026-03-05-merge-queue-custom-merge-commit-titles.mdx b/changelog/2026-03-05-merge-queue-custom-merge-commit-titles.mdx new file mode 100644 index 0000000..9288024 --- /dev/null +++ b/changelog/2026-03-05-merge-queue-custom-merge-commit-titles.mdx @@ -0,0 +1,12 @@ +--- +title: "Merge Queue: Custom Merge Commit Titles" +description: "You can now customize the merge commit title for any PR in the queue. Add merge-commit-title: Your custom title here on its own line anywhere in your PR body, and the merge queue will use that as the…" +slug: merge-queue-custom-merge-commit-titles +date: 2026-03-05 +category: Merge Queue +--- + +**You can now customize the merge commit title for any PR in the queue.** Add +`merge-commit-title: Your custom title here` on its own line anywhere in your PR body, and the merge +queue will use that as the commit title when merging instead of GitHub's default. If you don't +include the directive, the default format (`PR Title (#123)`) is used as before. diff --git a/changelog/2026-03-09-merge-queue-impacted-targets-visible-on-the-merge-graph.mdx b/changelog/2026-03-09-merge-queue-impacted-targets-visible-on-the-merge-graph.mdx new file mode 100644 index 0000000..ea99b87 --- /dev/null +++ b/changelog/2026-03-09-merge-queue-impacted-targets-visible-on-the-merge-graph.mdx @@ -0,0 +1,16 @@ +--- +title: "Merge Queue: Impacted Targets Visible on the Merge Graph" +description: "The merge graph now shows impacted targets directly on nodes and edges, so you can see exactly why PRs are connected and which targets they share." +slug: merge-queue-impacted-targets-visible-on-the-merge-graph +date: 2026-03-09 +category: Merge Queue +--- + +**The merge graph now shows impacted targets directly on nodes and edges, so you can see exactly why +PRs are connected and which targets they share.** + +![](/assets/changelog/merge-queue-impacted-targets-visible-on-the-merge-graph-kfea5s.png) + +Toggle "Show targets on hover" in the graph toolbar to see per-PR impacted targets on each node, +shared targets between connected nodes, and intra-batch overlaps. You can also view the full +impacted target list for any PR via a "View Impacted Targets" modal with a downloadable JSON export. diff --git a/changelog/2026-03-13-merge-queue-isolate-prs-from-batching-with-nobatch.mdx b/changelog/2026-03-13-merge-queue-isolate-prs-from-batching-with-nobatch.mdx new file mode 100644 index 0000000..7ddd992 --- /dev/null +++ b/changelog/2026-03-13-merge-queue-isolate-prs-from-batching-with-nobatch.mdx @@ -0,0 +1,13 @@ +--- +title: "Merge Queue: Isolate PRs from Batching with noBatch" +description: "PRs can now opt out of batching to test in isolation. When a high-risk PR is in the queue, batching it with other PRs means a failure forces the entire batch to restart." +slug: merge-queue-isolate-prs-from-batching-with-nobatch +date: 2026-03-13 +category: Merge Queue +--- + +**PRs can now opt out of batching to test in isolation.** When a high-risk PR is in the queue, +batching it with other PRs means a failure forces the entire batch to restart. With the new +`noBatch` flag, a PR tests on its own, protecting other PRs from being delayed by its potential +failures. Set it via the `/trunk merge --no-batch` CLI command or by passing `"noBatch": true` in +the `POST /v1/submitPullRequest` API request. diff --git a/changelog/2026-03-13-merge-queue-prometheus-compatible-metrics-endpoint.mdx b/changelog/2026-03-13-merge-queue-prometheus-compatible-metrics-endpoint.mdx new file mode 100644 index 0000000..a7b8552 --- /dev/null +++ b/changelog/2026-03-13-merge-queue-prometheus-compatible-metrics-endpoint.mdx @@ -0,0 +1,17 @@ +--- +title: "Merge Queue: Prometheus-Compatible Metrics Endpoint" +description: "Merge Queue now exposes a Prometheus-compatible metrics endpoint for integration with your existing monitoring stack." +slug: merge-queue-prometheus-compatible-metrics-endpoint +date: 2026-03-13 +category: Merge Queue +--- + +**Merge Queue now exposes a Prometheus-compatible metrics endpoint for integration with your +existing monitoring stack.** + +Previously, merge queue metrics were only available through the Health tab in the Trunk web app. Now +you can query `GET /v1/getMergeQueueMetrics` (authenticated via `x-api-token` header) to pull +real-time queue data into Prometheus, Grafana, Datadog, or any tool that scrapes Prometheus-format +metrics. + +[Read the Docs](https://docs.trunk.io/merge-queue/administration/metrics) to learn more diff --git a/changelog/2026-03-19-merge-queue-list-pull-requests-public-api-endpoint.mdx b/changelog/2026-03-19-merge-queue-list-pull-requests-public-api-endpoint.mdx new file mode 100644 index 0000000..6259dab --- /dev/null +++ b/changelog/2026-03-19-merge-queue-list-pull-requests-public-api-endpoint.mdx @@ -0,0 +1,30 @@ +--- +title: "Merge Queue: List Pull Requests Public API Endpoint" +description: "A new POST /v1/listPullRequests endpoint lets you query all PRs in your merge queue programmatically. Filter by state (not ready, pending, testing, merged, failed, cancelled), time range, and…" +slug: merge-queue-list-pull-requests-public-api-endpoint +date: 2026-03-19 +category: Merge Queue +--- + +**A new** `POST /v1/listPullRequests` endpoint lets you query all PRs in your merge queue +programmatically. Filter by state (not ready, pending, testing, merged, failed, cancelled), time +range, and paginate through results. This gives CI integrations and internal tooling a complete view +of queue activity without scraping the UI. + +Example Request + +``` +curl -X POST https://api.trunk.io/v1/listPullRequests \ + -H "Content-Type: application/json" \ + -H "x-api-token: $TRUNK_API_TOKEN" \ + -d '{ + "repo": { + "host": "github.com", + "owner": "my-org", + "name": "my-repo" + }, + "targetBranch": "main", + "state": "TESTING", + "take": 10 + }' +``` diff --git a/changelog/2026-03-19-merge-queue-route-slack-notifications-to-multiple-channels.mdx b/changelog/2026-03-19-merge-queue-route-slack-notifications-to-multiple-channels.mdx new file mode 100644 index 0000000..e724159 --- /dev/null +++ b/changelog/2026-03-19-merge-queue-route-slack-notifications-to-multiple-channels.mdx @@ -0,0 +1,15 @@ +--- +title: "Merge Queue: Route Slack Notifications to Multiple Channels" +description: "Merge queue Slack notifications can now be routed to multiple channels. Previously, notifications went to a single configured channel." +slug: merge-queue-route-slack-notifications-to-multiple-channels +date: 2026-03-19 +category: Merge Queue +--- + +**Merge queue Slack notifications can now be routed to multiple channels.** Previously, +notifications went to a single configured channel. Now you can add multiple channels from your org's +notification settings, each channel can be independently enabled or disabled for specific +notification topics. The channel picker loads your Slack workspace's channels directly, so you no +longer need to re-auth or manually enter channel names. + +[Read the Docs](https://docs.trunk.io/merge-queue/integration-for-slack) to learn more diff --git a/changelog/2026-03-24-flaky-tests-configurable-threshold-monitors-with-live-preview.mdx b/changelog/2026-03-24-flaky-tests-configurable-threshold-monitors-with-live-preview.mdx new file mode 100644 index 0000000..5047d01 --- /dev/null +++ b/changelog/2026-03-24-flaky-tests-configurable-threshold-monitors-with-live-preview.mdx @@ -0,0 +1,15 @@ +--- +title: "Flaky Tests: Configurable Threshold Monitors with Live Preview" +description: "You now have full control over how flaky tests are detected. Threshold monitors let you define exactly when a test should be flagged as flaky or broken, set the failure rate threshold, time window,…" +slug: flaky-tests-configurable-threshold-monitors-with-live-preview +date: 2026-03-24 +category: Flaky Tests +--- + +**You now have full control over how flaky tests are detected.** Threshold monitors let you define +exactly when a test should be flagged as flaky or broken, set the failure rate threshold, time +window, minimum sample size, and which branches to watch. A live preview panel shows you exactly +which tests would be flagged under your current settings before you save, so you can tune detection +rules with confidence. + +[Read the docs](https://docs.trunk.io/flaky-tests/detection/threshold-monitor) to learn more! diff --git a/changelog/2026-03-25-merge-queue-multiple-queues-per-repo-with-grouped-selector.mdx b/changelog/2026-03-25-merge-queue-multiple-queues-per-repo-with-grouped-selector.mdx new file mode 100644 index 0000000..76df7fc --- /dev/null +++ b/changelog/2026-03-25-merge-queue-multiple-queues-per-repo-with-grouped-selector.mdx @@ -0,0 +1,14 @@ +--- +title: "Merge Queue: Multiple Queues Per Repo with Grouped Selector" +description: "Previously, a repo could only have one queue. Now you can create additional queues from the merge queue creation page. The repo selector shows repos that already have queues and how many exist." +slug: merge-queue-multiple-queues-per-repo-with-grouped-selector +date: 2026-03-25 +category: Merge Queue +--- + +**You can now run multiple merge queues in the same repository, each targeting a different branch.** +Previously, a repo could only have one queue. Now you can create additional queues from the merge +queue creation page. The repo selector shows repos that already have queues and how many exist. The +settings page supports switching between queues via a branch selector with colored state indicators +(green = Running, yellow = Paused). The dashboard selector groups repos with multiple queues so you +can tell them apart at a glance. diff --git a/changelog/2026-03-25-merge-queue-slack-app-home-tab.mdx b/changelog/2026-03-25-merge-queue-slack-app-home-tab.mdx new file mode 100644 index 0000000..6c9e2d4 --- /dev/null +++ b/changelog/2026-03-25-merge-queue-slack-app-home-tab.mdx @@ -0,0 +1,15 @@ +--- +title: "Merge Queue: Slack App Home Tab" +description: "The Trunk Slack App Home tab is now a full control plane for your merge queue activity across all your organizations." +slug: merge-queue-slack-app-home-tab +date: 2026-03-25 +category: Merge Queue +--- + +**The Trunk Slack App Home tab is now a full control plane for your merge queue activity across all +your organizations.** The Home tab shows your active and recently merged PRs, notification +preferences, and account linking status, all within Slack. Changes you make here (like toggling a +notification topic) sync back to the web UI automatically, and vice versa. The app now installs at +the workspace level, so your coworkers get access without each needing to install it individually. + +[Read the Docs](https://docs.trunk.io/merge-queue/integration-for-slack) to learn more diff --git a/changelog/2026-03-26-merge-queue-testing-details-api-now-includes-impacted-target-information.mdx b/changelog/2026-03-26-merge-queue-testing-details-api-now-includes-impacted-target-information.mdx new file mode 100644 index 0000000..c199460 --- /dev/null +++ b/changelog/2026-03-26-merge-queue-testing-details-api-now-includes-impacted-target-information.mdx @@ -0,0 +1,17 @@ +--- +title: "Merge Queue: Testing Details API Now Includes Impacted Target Information" +description: "The Get Testing Details API now returns impacted target information, giving CI systems everything they need to launch the right tests." +slug: merge-queue-testing-details-api-now-includes-impacted-target-information +date: 2026-03-26 +category: Merge Queue +--- + +**The Get Testing Details API now returns impacted target information, giving CI systems everything +they need to launch the right tests.** Previously, teams using impacted targets had to piece +together information from multiple API calls to figure out which targets a PR affects and which +tests to run. Now a single API call returns impacted targets alongside queue position, dependent +PRs, and batch membership, so your CI can make informed decisions about test scope without extra +round-trips. + +[Read the Docs](https://docs.trunk.io/merge-queue/reference/merge#post-getmergequeuetestingdetails) +to learn more diff --git a/changelog/2026-03-27-flaky-tests-automatically-create-jira-issues-from-webhooks.mdx b/changelog/2026-03-27-flaky-tests-automatically-create-jira-issues-from-webhooks.mdx new file mode 100644 index 0000000..db5fc53 --- /dev/null +++ b/changelog/2026-03-27-flaky-tests-automatically-create-jira-issues-from-webhooks.mdx @@ -0,0 +1,19 @@ +--- +title: "Flaky Tests: Automatically Create Jira Issues from Webhooks" +description: "A new Jira connector in your webhook settings creates issues in your Jira Cloud project whenever a test's status changes to flaky and impacts more than a configurable number of PRs." +slug: flaky-tests-automatically-create-jira-issues-from-webhooks +date: 2026-03-27 +category: Flaky Tests +--- + +**You can now automatically create Jira issues when a test becomes flaky.** + +![](/assets/changelog/flaky-tests-automatically-create-jira-issues-from-webhooks-1rzy9x.png) + +A new Jira connector in your webhook settings creates issues in your Jira Cloud project whenever a +test's status changes to flaky and impacts more than a configurable number of PRs. This mirrors the +existing Linear webhook integration. Configure your Jira project key, issue type, labels, and custom +fields, and issues are created with full test context including failure rates, codeowners, and links +back to the Trunk test detail page. + +[Read the Docs](https://docs.trunk.io/flaky-tests/webhooks/jira-integration) to learn more diff --git a/changelog/2026-04-13-merge-queue-terraform-provider.mdx b/changelog/2026-04-13-merge-queue-terraform-provider.mdx new file mode 100644 index 0000000..64b5cbb --- /dev/null +++ b/changelog/2026-04-13-merge-queue-terraform-provider.mdx @@ -0,0 +1,14 @@ +--- +title: "Merge Queue: Terraform Provider" +description: "Merge Queue can now be managed fully through Terraform. Previously, creating, updating, and managing a Trunk Merge Queue was a manual process handled through our UI." +slug: merge-queue-terraform-provider +date: 2026-04-13 +category: Merge Queue +--- + +**Merge Queue can now be managed fully through Terraform.** Previously, creating, updating, and +managing a Trunk Merge Queue was a manual process handled through our UI. Now, your Merge Queue can +be entirely managed through terraform - bringing all the benefits of Infrastructure as Code to one +of the most important parts of your development pipeline. + +[Read the Docs](https://docs.trunk.io/merge-queue/administration/terraform) to learn more diff --git a/changelog/2026-04-21-merge-queue-drill-down-into-merge-metrics.mdx b/changelog/2026-04-21-merge-queue-drill-down-into-merge-metrics.mdx new file mode 100644 index 0000000..16e9565 --- /dev/null +++ b/changelog/2026-04-21-merge-queue-drill-down-into-merge-metrics.mdx @@ -0,0 +1,17 @@ +--- +title: "Merge Queue: Drill Down Into Merge Metrics" +description: "Merge Queue Health metrics can now be drilled down to the individual pull requests behind any data point." +slug: merge-queue-drill-down-into-merge-metrics +date: 2026-04-21 +category: Merge Queue +--- + +**Merge Queue Health metrics can now be drilled down to the individual pull requests behind any data +point.** Previously, the charts on the Health page surfaced aggregate numbers like conclusion counts +and time in queue, but there was no way to jump from a suspicious spike to the PRs that caused it. +Now, you can click any data point — or drag to select a range — and hit **View PRs** to open a +sortable list of the underlying PRs, making it easy to track down p99 outliers or investigate a +cluster of failures. + +[Read the Docs](https://docs.trunk.io/merge-queue/administration/metrics#drill-down-into-metrics) to +learn more diff --git a/changelog/2026-04-30-merge-queue-chrome-extension.mdx b/changelog/2026-04-30-merge-queue-chrome-extension.mdx new file mode 100644 index 0000000..f9938d5 --- /dev/null +++ b/changelog/2026-04-30-merge-queue-chrome-extension.mdx @@ -0,0 +1,29 @@ +--- +title: "Merge Queue: Chrome Extension" +description: "The Trunk Chrome Extension brings merge queue controls directly into your GitHub pull request page." +slug: merge-queue-chrome-extension +date: 2026-04-30 +category: Merge Queue +--- + +The Trunk Chrome Extension brings merge queue controls directly into your GitHub pull request page. + +TLDR; +[Add to Chrome right now](https://chromewebstore.google.com/detail/trunk-for-github/liggeliamkammmieidmmfmmdnjilabgn?hl=en-US&utm_source=changelog) + +![](/assets/changelog/merge-queue-chrome-extension-4syq66.png) + +Previously, submitting a PR to the queue, checking its status, or canceling it meant switching to +the Trunk web app or dropping a `/trunk merge` comment and waiting for a response. Now, the +extension overlays a Trunk panel directly on any PR page in a queue-enabled repository - replacing +GitHub's native merge controls with queue-aware actions. + +From the panel you can add a PR to the queue (with optional priority), cancel it, and watch it move +through each stage in real time: Queued → Pending → Testing → Tests Passed → Merged. No polling, no +tab switching. + +Authentication reuses your existing `app.trunk.io` browser session - no new credentials, no API +tokens. Chrome admins can deploy it org-wide via the Chrome Web Store ID +`liggeliamkammmieidmmfmmdnjilabgn`. + +[Read the Docs](https://docs.trunk.io/merge-queue/chrome-extension) to learn more. diff --git a/changelog/2026-05-18-flaky-tests-failure-count-monitor.mdx b/changelog/2026-05-18-flaky-tests-failure-count-monitor.mdx new file mode 100644 index 0000000..f2e51b7 --- /dev/null +++ b/changelog/2026-05-18-flaky-tests-failure-count-monitor.mdx @@ -0,0 +1,21 @@ +--- +title: "Flaky Tests: Failure Count Monitor" +description: "Flag tests the moment they accumulate a configured number of failures on monitored branches." +date: 2026-05-18 +category: Flaky Tests +type: new-feature +--- + +**You can now flag tests as soon as they accumulate a configured number of failures — no failure-rate math, no minimum sample size required.** + +The new **failure count monitor** reacts to individual failures within a rolling time window, making it well-suited for stable branches like `main` where any single failure is meaningful. Set it up with a failure count (default: 1), a window, a resolution timeout, and the branches to watch. + +Common uses: + +- **Stable branch alerting** — flag any test that fails on `main`, even once. +- **Post-merge regression detection** — catch regressions before a failure-rate monitor accumulates enough data to trigger. +- **Merge queue / release branches** — quick alerting on branches where failures are suspicious by definition. + +A live **Preview** panel shows which tests would be flagged under your current settings before you save, so you can tune the threshold with confidence. + +[Read the docs](https://docs.trunk.io/flaky-tests/detection/failure-count-monitor) to learn more. diff --git a/changelog/2026-05-18-flaky-tests-monitor-label-actions.mdx b/changelog/2026-05-18-flaky-tests-monitor-label-actions.mdx new file mode 100644 index 0000000..2ae8919 --- /dev/null +++ b/changelog/2026-05-18-flaky-tests-monitor-label-actions.mdx @@ -0,0 +1,18 @@ +--- +title: "Flaky Tests: Apply Labels from Monitors" +description: "Monitors can now apply labels to tests instead of classifying them as flaky or broken." +date: 2026-05-18 +category: Flaky Tests +type: update +--- + +**Monitors can now apply labels to tests instead of changing their health status.** This is useful when you want a monitor to surface a pattern for triage without marking tests flaky or broken — and it doubles as a dry-run while you tune a new monitor. + +When you create or edit a [pass-on-retry](https://docs.trunk.io/flaky-tests/detection/pass-on-retry-monitor), [failure rate](https://docs.trunk.io/flaky-tests/detection/failure-rate-monitor), or [failure count](https://docs.trunk.io/flaky-tests/detection/failure-count-monitor) monitor, the **Action** section now offers: + +- **Classify test status** (default) — the original behavior; the test is marked flaky or broken while the monitor is active. +- **Apply labels** — one or more labels are added to the test while the monitor is active, with no change to the test's health status. + +By default, monitor-applied labels are removed when the monitor resolves; you can turn that off to keep the labels on the test. When the same label is applied by multiple sources (a user, multiple monitors, or both), it stays on the test until every source removes it. + +[Read the docs](https://docs.trunk.io/flaky-tests/management/test-labels#automatic-labeling-from-monitors) to learn more. diff --git a/changelog/2026-05-18-flaky-tests-test-labels.mdx b/changelog/2026-05-18-flaky-tests-test-labels.mdx new file mode 100644 index 0000000..a2ed8e8 --- /dev/null +++ b/changelog/2026-05-18-flaky-tests-test-labels.mdx @@ -0,0 +1,19 @@ +--- +title: "Flaky Tests: Organization-Scoped Test Labels" +description: "Tag, organize, and filter your test suite with org-wide labels." +date: 2026-05-18 +category: Flaky Tests +type: new-feature +--- + +**Test labels are now generally available — organize, categorize, and filter your test suite with org-scoped tags.** + +Create labels with a name, description, and color at **Settings > Organization > Test Labels**. Then: + +- **Apply labels manually** from the test detail page. Each assignment records who applied it and when. +- **Filter the tests list** by label to slice your suite by the categories your team cares about (owning team, area of the product, risk level, etc.). +- **Search labels inline** when applying, or create a new one on the fly without leaving the test detail page. + +Deleting a label removes it from every test it's applied to. Labels referenced by a monitor's [label action](https://docs.trunk.io/flaky-tests/management/test-labels#automatic-labeling-from-monitors) can't be deleted until those references are cleared, so monitor configuration stays consistent. + +[Read the docs](https://docs.trunk.io/flaky-tests/management/test-labels) to learn more. diff --git a/changelog/index.mdx b/changelog/index.mdx new file mode 100644 index 0000000..566c50d --- /dev/null +++ b/changelog/index.mdx @@ -0,0 +1,1001 @@ +--- +title: "Changelog" +description: "Recent updates to Trunk." +rss: true +--- + + +## 2026 + +### May 2026 + + + **[Flaky Tests: Organization-Scoped Test Labels](/changelog/2026-05-18-flaky-tests-test-labels)** + + Tag, organize, and filter your test suite with org-wide labels. + + + + **[Flaky Tests: Failure Count Monitor](/changelog/2026-05-18-flaky-tests-failure-count-monitor)** + + Flag tests the moment they accumulate a configured number of failures on monitored branches. + + + + **[Flaky Tests: Apply Labels from Monitors](/changelog/2026-05-18-flaky-tests-monitor-label-actions)** + + Monitors can now apply labels to tests instead of classifying them as flaky or broken. + + +### April 2026 + + + **[Merge Queue: Chrome Extension](/changelog/2026-04-30-merge-queue-chrome-extension)** + + The Trunk Chrome Extension brings merge queue controls directly into your GitHub pull request page. + + + + **[Merge Queue: Drill Down Into Merge Metrics](/changelog/2026-04-21-merge-queue-drill-down-into-merge-metrics)** + + Merge Queue Health metrics can now be drilled down to the individual pull requests behind any data point. + + + + **[Merge Queue: Terraform Provider](/changelog/2026-04-13-merge-queue-terraform-provider)** + + Merge Queue can now be managed fully through Terraform. Previously, creating, updating, and managing a Trunk Merge Queue was a manual process handled through our UI. + + +### March 2026 + + + **[Flaky Tests: Automatically Create Jira Issues from Webhooks](/changelog/2026-03-27-flaky-tests-automatically-create-jira-issues-from-webhooks)** + + A new Jira connector in your webhook settings creates issues in your Jira Cloud project whenever a test's status changes to flaky and impacts more than a configurable number of PRs. + + + + **[Merge Queue: Testing Details API Now Includes Impacted Target Information](/changelog/2026-03-26-merge-queue-testing-details-api-now-includes-impacted-target-information)** + + The Get Testing Details API now returns impacted target information, giving CI systems everything they need to launch the right tests. + + + + **[Merge Queue: Multiple Queues Per Repo with Grouped Selector](/changelog/2026-03-25-merge-queue-multiple-queues-per-repo-with-grouped-selector)** + + Previously, a repo could only have one queue. Now you can create additional queues from the merge queue creation page. The repo selector shows repos that already have queues and how many exist. + + + + **[Merge Queue: Slack App Home Tab](/changelog/2026-03-25-merge-queue-slack-app-home-tab)** + + The Trunk Slack App Home tab is now a full control plane for your merge queue activity across all your organizations. + + + + **[Flaky Tests: Configurable Threshold Monitors with Live Preview](/changelog/2026-03-24-flaky-tests-configurable-threshold-monitors-with-live-preview)** + + You now have full control over how flaky tests are detected. Threshold monitors let you define exactly when a test should be flagged as flaky or broken, set the failure rate threshold, time window,… + + + + **[Merge Queue: List Pull Requests Public API Endpoint](/changelog/2026-03-19-merge-queue-list-pull-requests-public-api-endpoint)** + + A new POST /v1/listPullRequests endpoint lets you query all PRs in your merge queue programmatically. Filter by state (not ready, pending, testing, merged, failed, cancelled), time range, and… + + + + **[Merge Queue: Route Slack Notifications to Multiple Channels](/changelog/2026-03-19-merge-queue-route-slack-notifications-to-multiple-channels)** + + Merge queue Slack notifications can now be routed to multiple channels. Previously, notifications went to a single configured channel. + + + + **[Merge Queue: Prometheus-Compatible Metrics Endpoint](/changelog/2026-03-13-merge-queue-prometheus-compatible-metrics-endpoint)** + + Merge Queue now exposes a Prometheus-compatible metrics endpoint for integration with your existing monitoring stack. + + + + **[Merge Queue: Isolate PRs from Batching with noBatch](/changelog/2026-03-13-merge-queue-isolate-prs-from-batching-with-nobatch)** + + PRs can now opt out of batching to test in isolation. When a high-risk PR is in the queue, batching it with other PRs means a failure forces the entire batch to restart. + + + + **[Merge Queue: Impacted Targets Visible on the Merge Graph](/changelog/2026-03-09-merge-queue-impacted-targets-visible-on-the-merge-graph)** + + The merge graph now shows impacted targets directly on nodes and edges, so you can see exactly why PRs are connected and which targets they share. + + + + **[Merge Queue: Custom Merge Commit Titles](/changelog/2026-03-05-merge-queue-custom-merge-commit-titles)** + + You can now customize the merge commit title for any PR in the queue. Add merge-commit-title: Your custom title here on its own line anywhere in your PR body, and the merge queue will use that as the… + + +### February 2026 + + + **[Merge Queue: Public API for Queue Management](/changelog/2026-02-06-merge-queue-public-api-for-queue-management)** + + You can now fully manage your merge queues through the Trunk API without touching the web UI. + + + + **[Flaky Tests: Infrastructure Failure Protection](/changelog/2026-02-02-flaky-tests-infrastructure-failure-protection)** + + When infrastructure issues like database outages, network problems, or CI runner failures cause a large number of tests to fail simultaneously, retrying those tests can trigger mass false flaky… + + +### January 2026 + + + **[Merge Queue: Personal Slack Notifications](/changelog/2026-01-30-merge-queue-personal-slack-notifications)** + + Get direct messages in Slack about your PRs in the merge queue, keeping you informed without adding noise to team channels and allowing you to address failures immediately. + + + + **[Merge Queue: Support Additional Merge Methods](/changelog/2026-01-23-merge-queue-support-additional-merge-methods)** + + You can now select your preferred merge method for PRs going through the merge queue. Previously, Trunk Merge only supported squash merging, which combines all commits into a single commit. + + + + **[Merge Queue: Filter Metrics by Impacted Targets](/changelog/2026-01-14-merge-queue-filter-metrics-by-impacted-targets)** + + Now you can filter merge queue health metrics by impacted targets to see exactly how well this parallel workflow is performing for each part of your codebase. + + + + **[Merge Queue: Direct Merge to Main](/changelog/2026-01-09-merge-queue-direct-merge-to-main)** + + Skip redundant testing and merge immediately when your PR is already up-to-date and the queue is empty + + + + **[Merge Queue: Independent Concurrency for Batch Bisection](/changelog/2026-01-07-merge-queue-independent-concurrency-for-batch-bisection)** + + When a batch of PRs fails and needs to be split apart to identify the culprit, you want those bisection tests to run as fast as possible so developers get quick feedback about what broke. + + + + **[Merge Queue: Test Caching for Batch Failure Isolation](/changelog/2026-01-02-merge-queue-test-caching-for-batch-failure-isolation)** + + When you use batching mode, the merge queue tests multiple PRs together for efficiency. If a batch fails, the queue needs to figure out which specific PR caused the problem by splitting the batch… + + + +## 2025 + +### November 2025 + + + **[Flaky Tests: New API endpoints](/changelog/2025-11-18-flaky-tests-new-api-endpoints)** + + We’ve added three new endpoints to make it easier to investigate flaky tests, automate triage, and integrate test health into your workflows. + + + + **[Plugins 1.7.4](/changelog/2025-11-12-plugins-1-7-4)** + + ✨ Improvements + + +### October 2025 + + + **[Plugins 1.7.3](/changelog/2025-10-09-plugins-1-7-3)** + + 🎁 New + + +### September 2025 + + + **[Flaky Tests: Auto quarantine no longer applied to broken tests](/changelog/2025-09-09-flaky-tests-auto-quarantine-no-longer-applied-to-broken-tests)** + + Auto-quarantining test cases have been updated to target only 'flaky' tests specifically. Previously, both 'flaky' and 'broken' tests were subject to automatic quarantine. + + + + **[Flaky Test: Corrected CLI test failure reporting flag](/changelog/2025-09-09-flaky-test-corrected-cli-test-failure-reporting-flag)** + + Resolved an issue where test failures were not being reported or displayed when using the --disable-quarantining flag. + + + + **[UI refresh: Enhanced dashboard experience](/changelog/2025-09-01-ui-refresh-enhanced-dashboard-experience)** + + We've redesigned the app with a visual-first approach that helps you spot critical issues at a glance instead of digging through data. Plus, get a sneak peek at our new CI Autopilot interface! + + +### August 2025 + + + **[Flaky Tests: New endpoint and XCode 26 support](/changelog/2025-08-25-flaky-tests-new-endpoint-and-xcode-26-support)** + + A new endpoint is available from the trunk api at /flaky-tests/list-unhealthy-tests for your CI/CD integrations. + + + + **[CI Autopilot: Stacked PRs, CI Triggers and MCP support](/changelog/2025-08-25-ci-autopilot-stacked-prs-ci-triggers-and-mcp-support)** + + Onboarding UX improvements; Stacked PR User experience improvements to generate less noise in your repo/feeds. + + + + **[CI Autopilot: Private beta initial release](/changelog/2025-08-15-ci-autopilot-private-beta-initial-release)** + + Core features in this release: + + + + **[Code Quality: Plugins 1.7.2 and CLI 1.25.0](/changelog/2025-08-12-code-quality-plugins-1-7-2-and-cli-1-25-0)** + + New linter: ls-lint. Thank you @nenadfilipovic for the contribution! + + +### July 2025 + + + **[Flaky Tests: Commit details in timeline](/changelog/2025-07-02-flaky-tests-commit-details-in-timeline)** + + We’ve added additional details about commits that trigger test status changes to test timelines in the Flaky Tests dashboard. + + +### June 2025 + + + **[Flaky Tests: Manual test status overrides](/changelog/2025-06-25-flaky-tests-manual-test-status-overrides)** + + You can now manually set a test’s status to Flaky, Healthy, or Broken in the Flaky Tests dashboard. + + + + **[Plugins 1.7.1](/changelog/2025-06-24-plugins-1-7-1)** + + 🎁 New + + + + **[Flaky Tests: Test suite and class available on test details page](/changelog/2025-06-18-test-suite-and-class-available-on-test-details-page)** + + The names of a test’s suite and class are now visible on the test details page of the flaky test dashboard, along with a file search link for repos using either GitHub or Bitbucket as source control… + + + + **[Flaky Tests: test_case.quarantining_setting_changed webhook](/changelog/2025-06-11-flaky-tests-test-case-quarantining-setting-changed-webhook)** + + We’re happy to announce that a new testcase.quarantiningsetting_changed webhook is now available for all Flaky Tests users. + + +### May 2025 + + + **[Plugins 1.7.0](/changelog/2025-05-28-plugins-1-7-0)** + + ✨ Improvements + + + + **[CLI 1.24.0](/changelog/2025-05-28-cli-1-24-0)** + + Updated embedded CURL to v8.13 (enables support for running inside Open AI Codex); Formatting issues can now be downgraded to non-blocking using the threshold value like any other linter issue. + + + + **[Merge Queue: Failure tab only displays current failures](/changelog/2025-05-28-merge-queue-failure-tab-only-displays-current-failures)** + + We’ve updated the Merge Queue Failure tab so that only PRs that failed and have not been resubmitted to the queue are displayed. + + + + **[Flaky Tests: Improved test failure details](/changelog/2025-05-21-improved-test-failure-details)** + + More changes have landed on the Flaky Tests dashboard: unique failure details on the test details page are now available in a single table view. + + + + **[RSpec Plugin for Ruby repos](/changelog/2025-05-15-rspec-plugin-for-ruby-repos)** + + The new Flaky Tests RSpec plugin is the best way to run RSpec tests and upload the results to Trunk. + + + + **[Sunsetting CI Analytics and Code Quality web issue browser](/changelog/2025-05-09-sunsetting-ci-analytics-and-code-quality-web-issue-browser)** + + Trunk CI Analytics and Code Quality web issue browser are being shut down today. This is a strategic change as we reinvent and consolidate our tools for the future. + + + + **[Merge Queue: Webhooks on batched PR merges](/changelog/2025-05-08-merge-queue-webhooks-on-batched-pr-merges)** + + Webhooks are now available for batched PR merges in Merge Queue. This allows you to build custom automations and respond to events when batching is enabled. + + +### April 2025 + + + **[Flaky Tests: Link Ticket to Test Case API](/changelog/2025-04-25-link-ticket-to-test-case-api)** + + Today, we’re introducing a new Link Ticket to Test Case API that allows you to link your existing Linear or Jira tickets to tests in the Flaky Tests dashboard. + + + + **[Flaky Tests: Linear integration](/changelog/2025-04-25-linear-integration)** + + We now have a built-in Linear integration that creates tickets with relevant test and failure information from your flaky tests. + + + + **[Flaky Tests: Track environment-specific flakes with variants](/changelog/2025-04-17-track-environment-specific-flakes-with-variants)** + + Starting today, the --variant option should be used to upload test results when the same tests are run on different environments, also known as matrix builds. + + + + **[Merge Queue: updateQueue API](/changelog/2025-04-17-merge-queue-updatequeue-api)** + + We’ve added a new updateQueue API to Trunk Merge Queue that enables you to update a Merge Queue’s state. + + + + **[Plugins 1.6.8](/changelog/2025-04-11-plugins-1-6-8)** + + New linter: golangci-lint2. Users who wish to upgrade should replace golangci-lint with golangci-lint2 + + + + **[Flaky Tests: Test detail dashboard UI improvements](/changelog/2025-04-09-flaky-tests-test-detail-dashboard-ui-improvements)** + + The test details page in the Flaky Tests dashboard is getting a major UX overhaul. + + +### March 2025 + + + **[Flaky Tests: Quarantined Tests API](/changelog/2025-03-26-flaky-tests-quarantined-tests-api)** + + A new Quarantined Tests API is now available to all Flaky Tests users. This API fetches a list of currently quarantined tests for a given repo, allowing organizations to implement custom workflows to… + + + + **[Web App: Single sign-on (SSO) support](/changelog/2025-03-13-web-app-single-sign-on-sso-support)** + + Trunk now supports single sign-on (SSO) for enterprise plan users. SSO allows your team to access Trunk with their work email account through your organization's identity and access management… + + +### February 2025 + + + **[Flaky Tests: Detailed Jira integration status updates](/changelog/2025-02-26-flaky-tests-detailed-jira-integration-status-updates)** + + We have an exciting update for teams using the Flaky Test Jira integration to create and track their tickets. + + + + **[Flaky Tests: Set a custom stable branch](/changelog/2025-02-14-flaky-tests-set-a-custom-stable-branch)** + + If your stable branch is not main, you can now set a custom stable branch for your repositories to improve flaky test detection. + + + + **[Flaky Tests: Weekly reports](/changelog/2025-02-10-flaky-tests-weekly-reports)** + + We're excited to introduce a new way to help your team stay on top of your repository's test health through weekly email reports. + + +### January 2025 + + + **[Plugins 1.6.7](/changelog/2025-01-29-plugins-1-6-7)** + + New security linter: snyk. Thanks @fsargent for the contribution!; New action: terraform-docs. Thanks @Gowiem for the contribution!. + + + + **[Flaky Tests: Webhook Integration for Slack, Microsoft Teams, GitHub Issues, and Linear](/changelog/2025-01-29-flaky-tests-webhook-integration-for-slack-microsoft-teams-github-issues-and-linea)** + + We're excited to introduce webhook integrations for Slack, Microsoft Teams, GitHub Issues, and Linear. + + + + **[Merge: Webhook notifications for Microsoft Teams and Slack](/changelog/2025-01-28-merge-webhook-notifications-for-microsoft-teams-and-slack)** + + We're excited to share our new webhook integrations for Trunk Merge. You can now send notifications about events in the merge queue to your Microsoft Teams and Slack channels. + + + + **[Web App: Sign in with Microsoft](/changelog/2025-01-21-web-app-sign-in-with-microsoft)** + + The Trunk Web App now supports signing in with Microsoft. This makes it easier for teams who are primarily integrated with Microsoft's ecosystem (Outlook, Microsoft Teams) to get started with Trunk. + + + + **[Flaky Tests: CODEOWNERS support](/changelog/2025-01-16-flaky-tests-codeowners-support)** + + We’re thrilled to announce support for CODEOWNERS in our Flaky Tests product, which is available for both GitHub and GitLab repositories. + + + + **[Flaky Tests: Support for Bazel build event protocol](/changelog/2025-01-14-flaky-tests-support-for-bazel-build-event-protocol)** + + Trunk Flaky Tests now supports uploading test results by parsing Bazel Build Event Protocol (BEP) files. + + + + **[Flaky Tests: Flaky test detection on merge branches](/changelog/2025-01-03-flaky-tests-flaky-test-detection-on-merge-branches)** + + We’re excited to announce improved flaky test detection for merge queue users. In a merge queue, a single flaky failure will force every enqueued PR behind it to be retested, affecting every engineer… + + + +## 2024 + +### December 2024 + + + **[Flaky Tests: Webhooks for status changes](/changelog/2024-12-16-flaky-tests-webhooks-for-status-changes)** + + We’re excited to announce the addition of webhooks for flaky tests, designed to help you automate your workflows for better handling of flaky tests. + + + + **[Plugins 1.6.6](/changelog/2024-12-10-plugins-1-6-6)** + + Upgrade ruby-build to 20241105. Thanks @amkisko for the contribution!; Upgrade jdk to 23. + + +### November 2024 + + + **[Plugins 1.6.5](/changelog/2024-11-13-plugins-1-6-5)** + + Use a hadolint version that works on the latest versions of macOS; Fix parsing in new versions of ruff for source files with syntax errors. + + + + **[Flaky Tests: New onboarding flow](/changelog/2024-11-12-flaky-tests-new-onboarding-flow)** + + Hi everyone, we’ve introduced a new onboarding flow to make it easier to integrate your test framework and CI provider with Trunk. + + + + **[Flaky Tests: Added Flaky Test commands to Trunk CLI ](/changelog/2024-11-11-flaky-tests-added-flaky-test-commands-to-trunk-cli)** + + The Trunk CLI now includes commands for uploading and validating test results for Trunk Flaky Tests. + + + + **[Flaky Tests: Dashboard improvements](/changelog/2024-11-08-flaky-tests-dashboard-improvements)** + + We’re continually refining our UX with the help of our beta users’ feedback and we’ve made some changes to how Flaky Tests displays key information on the dashboards. + + + + **[Flaky Tests: Data uploads view](/changelog/2024-11-04-flaky-tests-data-uploads-view)** + + A common pain point during onboarding is the lack of transparency after the Trunk CLI uploads test results. + + + + **[CLI 1.22.8](/changelog/2024-11-04-cli-1-22-8)** + + Fix a daemon connection error that could occur on Windows; Fix a daemon connection error that could happen on some machines with restricted TCP permissions. + + +### October 2024 + + + **[Flaky Tests: Improved support for iOS and Swift developers](/changelog/2024-10-28-flaky-tests-improved-support-for-ios-and-swift-developers)** + + Flaky Tests now supports the XCResults format outputted by Swift projects using XCTests. You can now upload the .xcresults format to Trunk directly, without configuring a JUnit XML reporter. + + + + **[Flaky Tests: PR test summaries](/changelog/2024-10-17-flaky-tests-pr-test-summaries)** + + We're excited to introduce a powerful new feature that will help you accelerate your PR iterations: PR Test Summaries! + + + + **[Plugins 1.6.4](/changelog/2024-10-15-plugins-1-6-4)** + + 🎁 New + + + + **[Flaky Tests: Quarantining](/changelog/2024-10-14-flaky-tests-quarantining)** + + We’re excited to provide a new way for you to mitigate the negative impact of flaky tests in your repo through quarantining. + + +### September 2024 + + + **[Plugins 1.6.3](/changelog/2024-09-30-plugins-1-6-3)** + + 🎁 New + + + + **[CLI 1.22.6](/changelog/2024-09-30-cli-1-22-6)** + + Fix a rare deadlock that could cause a linter execution to hang indefinitely. + + + + **[CLI 1.22.5](/changelog/2024-09-04-cli-1-22-5)** + + Help text improvements; trunk fmt will now use configured verbs when presenting results to the user. + + +### August 2024 + + + **[Flaky Tests: Jira Integration](/changelog/2024-08-27-flaky-tests-jira-integration)** + + We’re excited to announce the latest enhancement: Jira integration for managing flaky tests. This update builds on our MVP by streamlining the issue management process within Jira. + + + + **[Plugins 1.6.2](/changelog/2024-08-20-plugins-1-6-2)** + + ruff@>=0.6.0 now runs on Jupyter notebooks by default + + + + **[CLI 1.22.3](/changelog/2024-08-15-cli-1-22-3)** + + Add a linter definition field [](https://docs.trunk.io/code-quality/configuration/integrating-linters/reference/linter-definition#verbatimmessage)for a linter to have multi-line messages; Allow… + + + + **[Web App: Light mode support](/changelog/2024-08-06-web-app-light-mode-support)** + + Trunk Web App now supports both light and dark mode. + + +### July 2024 + + + **[Merge Queue: New metrics dashboard](/changelog/2024-07-17-trunk-merge-queue-metrics-dashboard)** + + Merge queues are integral to validating and merging PRs - a critical part of any development process. Minimizing the friction to merge a PR and ensuring the merging process remains fast is essential… + + + + **[Plugins 1.6.1](/changelog/2024-07-16-plugins-1-6-1)** + + Support additional osv-scanner lockfile types; Added tfvars filetype. + + + + **[Flaky Tests: Issue handling MVP](/changelog/2024-07-15-test-analytics-beta-issue-handling-mvp-copy-issue-details)** + + Today, we are releasing our first feature to support issue handling related to flaky tests. This MVP feature is designed to streamline reporting and managing flaky tests, saving valuable time and… + + + + **[Merge Queue: API updates](/changelog/2024-07-10-trunk-merge-queue-public-api-updated)** + + Trunk Merge Queue has added more functionality to its public API, allowing it to fit seamlessly into any integration. + + +### June 2024 + + + **[Flaky Tests: UX improvements](/changelog/2024-06-28-test-analytics-beta-ux-improvements-dashboard-test-details)** + + We are rolling out substantial UX improvements to the dashboard and detail views. These enhancements provide users with quick and easy access to critical information. + + + + **[Plugins 1.6.0](/changelog/2024-06-11-plugins-1-6-0)** + + New linter Vale. Thanks @gewenyu99 for the contribution!; New formatter php-cs-fixer. Thanks @matthewbaggett for the contribution!. + + + + **[CLI 1.22.2](/changelog/2024-06-11-cli-1-22-2)** + + Add an option to skip files that are missing compile commands. + + +### May 2024 + + + **[Merge Queue: Draft PR support](/changelog/2024-05-26-testing-using-draft-prs)** + + Trunk Merge Queue, by default, will now raise draft pull requests in order to test changes submitted to the merge queue! Trunk Merge Queue is now even easier to get started with and no longer… + + + + **[Merge Queue: First class Nx support](/changelog/2024-05-17-first-class-support-for-trunk-merge-queue-nx)** + + Trunk Merge Queue, through its Parallel Queues feature, can dynamically create new merge queues to test only the pull requests with potential conflicts together. + + + + **[CLI 1.22.1](/changelog/2024-05-07-cli-1-22-1)** + + Added a new severity level, note, which is not blocking by default; Trunk can now upload issues to our web app without requiring our GitHub app to be installed. + + + + **[VSCode 3.18.0](/changelog/2024-05-02-vscode-3-18-0)** + + The extension now has an installed/recommended view for linters and plugins. + + +### April 2024 + + + **[VSCode 3.17.0](/changelog/2024-04-29-vscode-3-17-0)** + + The extension now has Trunk account integration. + + + + **[Plugins 1.5.0](/changelog/2024-04-24-plugins-1-5-0)** + + New runtime: php; New linter and tool: tofu. + + + + **[CLI 1.22.0](/changelog/2024-04-23-cli-1-22-0)** + + Many optimizations to make trunk faster in very large repositories; Improved error reporting for failed upstream detection. + + + + **[VSCode 3.16.0](/changelog/2024-04-23-vscode-3-16-0)** + + The extension is more robust to reloads on upgrade; The extension provides error messages if the trunk version is invalid. + + + + **[Merge Queue: Batching support](/changelog/2024-04-05-merge-batching-support)** + + Trunk Merge Queue now supports grouping PRs into batches for greater throughput. See Batching docs for more details. + + + + **[Merge Queue: Webhook support](/changelog/2024-04-05-merge-web-hook-support)** + + Trunk Merge Queue now supports webhooks to provide realtime events to integrated platforms. See the Webhooks API doc for more details. + + +### March 2024 + + + **[Merge Queue: Optimistic merging and pending failure depth](/changelog/2024-03-29-optimistic-merging-and-pending-failure-depth)** + + Merge Queue now supports Optimistic Merging to allow failed tests to be merged if later PRs pass. Merge Queue also now supports Pending Failure Depth to allow failed tests to remain in the queue for… + + + + **[Plugins 1.4.5](/changelog/2024-03-18-plugins-1-4-5)** + + New linter/formatter: dart; New linter: regal. + + + + **[Merge Queue: PR prioritization](/changelog/2024-03-15-trunk-merge-pr-prioritization)** + + Support for setting the priority of a pull request from the command line or a GitHub comment. Higher priority PRs will move ahead of lower priority PRs. See PR Prioritization docs for more details. + + + + **[CLI 1.21.0](/changelog/2024-03-13-cli-1-21-0)** + + Added support for --color=false to disable color output in the CLI. + + + + **[VSCode 3.15.0](/changelog/2024-03-06-vscode-3-15-0)** + + Fix occasional flakiness on extension startup. + + + + **[Plugins 1.4.4](/changelog/2024-03-01-plugins-1-4-4)** + + New linter and formatter: psscriptanalyzer. Thanks @natescherer for the contribution!; New tool: kubectl. + + +### February 2024 + + + **[VSCode 3.14.0](/changelog/2024-02-26-vscode-3-14-0)** + + Inline annotation settings changes are now applied dynamically; The extension provides better information to the user if the LSP server fails to launch. + + + + **[CLI 1.20.1](/changelog/2024-02-20-cli-1-20-1)** + + Fix a crash in the LSP server. + + + + **[Merge Queue : Support for forked and open source repos](/changelog/2024-02-20-merge-support-for-forked-and-open-source-repos)** + + Trunk Merge Queue now supports uploading impacted targets from forked PRs, and has more verbose information on PRs for contributors that aren't a part of the same Trunk org. + + + + **[Plugins 1.4.3](/changelog/2024-02-16-plugins-1-4-3)** + + Add support for Ruff formatting; Add support for commitizen. Thanks @natescherer for the contribution!. + + + + **[CLI 1.20.0](/changelog/2024-02-15-cli-1-20-0)** + + Trunk actions now support the ${target} substitution in their run command. This will be replaced with all targets that triggered the actions; Trunk actions now support the ${pwd} substitution in… + + +### January 2024 + + + **[Merge Queue: Automatic status checks](/changelog/2024-01-12-merge-automatic-status-checks)** + + Trunk Merge Queue now supports automatically setting the required status checks by scanning the GitHub branch protection of the target branch. See Define Required Status For Testing for details. + + + + **[Plugins 1.4.2](/changelog/2024-01-09-plugins-1-4-2)** + + New linter: biome; Parse prettier failure messages into issues. + + + + **[CLI 1.19.0](/changelog/2024-01-08-cli-1-19-0)** + + Rewrite linters now have the ability to emit diagnostics. + + + + **[VSCode 3.13.0](/changelog/2024-01-04-vscode-3-13-0)** + + File items are auto-expanded in the tree view as soon as they have diagnostics; The Actions pane is no longer displayed when a repo is not open. + + + +## 2023 + +### December 2023 + + + **[Plugins 1.4.1](/changelog/2023-12-18-plugins-1-4-1)** + + New formatter: markdown-table-prettify; New tool: diff-so-fancy. + + + + **[CLI 1.18.1](/changelog/2023-12-14-cli-1-18-1)** + + Trunk will now respect .netrc when downloading files; When a batched linter execution fails, trunk will now bisect the batch, and only tell the user about the file(s) that failed. + + + + **[VSCode 3.12.0](/changelog/2023-12-13-vscode-3-12-0)** + + The notification to add trunk.yaml to git state is shown less frequently; The Trunk launcher is now added to PATH on windows. + + + + **[Plugins 1.4.0](/changelog/2023-12-08-plugins-1-4-0)** + + New tool: GitKraken + + + + **[CLI 1.18.0](/changelog/2023-12-05-cli-1-18-0)** + + Announcing Trunk shell-hooks: Watches your current working directory to ensure that Trunk-managed tools, linters, and runtimes are available in PATH. + + + + **[VSCode 3.11.0](/changelog/2023-12-01-vscode-3-11-0)** + + Added inline annotations in trunk.yaml to guide a user towards tracking their trunk.yaml in git. + + +### November 2023 + + + **[Trunk Merge Queue - Parallel Queues](/changelog/2023-11-21-trunk-merge-parallel-queues)** + + Trunk Merge Queue now offers two modes for creating merge queues: \"Single\" and \"Parallel\". The Single mode operates as a standard first-in, first-out merge queue, where pull requests (PRs) are added… + + + + **[VSCode 3.9.0](/changelog/2023-11-20-vscode-3-9-0)** + + The install flow is streamlined to guide users to a welcome page, or to open their trunk config, depending on their workbench state. + + + + **[Plugins 1.3.0](/changelog/2023-11-20-plugins-1-3-0)** + + New tools: gulp, tailwindcss, tsc, webpack.; New formatter: dotnet-format (MacOS support coming soon). + + + + **[VSCode 3.8.0](/changelog/2023-11-13-vscode-3-8-0)** + + The extension helps guide users towards committing their trunk.yaml. + + + + **[CLI 1.17.2](/changelog/2023-11-09-1-17-2)** + + Single-player mode will now auto-upgrade all linters periodically; Linters now have a maximum concurrency setting. Trunk will never run a linter more than this number of times simultaneously. + + + + **[VSCode 3.7.0](/changelog/2023-11-01-vscode-3-7-0)** + + The extension now streams logs to ${workspace}/.trunk/logs/vscode.log; Made minor changes to verbiage in the UI. + + +### October 2023 + + + **[VSCode 3.6.0](/changelog/2023-10-26-vscode-3-6-0)** + + Mark inline diagnostics as generated by Trunk; Updated the tree view to show new/preexisting issue counts. + + + + **[Plugins 1.2.6](/changelog/2023-10-17-plugins-1-2-6)** + + New formatter: pre-commit-hooks (more coming soon); New linter: markdown-link-check. + + + + **[CLI 1.17.1](/changelog/2023-10-17-1-17-1)** + + Fix bug where trunk init --single-player-mode would fail if you do not have a .git/info directory; Proper handling of percent encoding in SARIF output. + + + + **[CLI 1.17.0](/changelog/2023-10-13-1-17-0)** + + Trunk now always uses TCP instead of unix domain sockets to communicate with its daemon; Trunk tools now does health checks to ensure installed versions match the expected versions. + + + + **[VSCode 3.5.0](/changelog/2023-10-12-vscode-3-5-0)** + + Re-added the ability to format files from tree view navigation menus; Added the ability to autofix issues from the tree view navigation menus. + + +### September 2023 + + + **[VSCode 3.4.6](/changelog/2023-09-29-vscode-3-4-6)** + + Fixed a bug where commands were registered before the extension had properly initialized; Fixed telemetry. + + + + **[Plugins 1.2.5](/changelog/2023-09-29-plugins-1-2-5)** + + Update svgo to use new fixverb / fixprompt support. + + + + **[CLI 1.16.2](/changelog/2023-09-27-1-16-2)** + + Fixed a bug where the LSP server may become unresponsive. + + + + **[CLI 1.16.1](/changelog/2023-09-26-1-16-1)** + + Oxipng now uses the language \"unoptimized image\" rather than \"unformatted file.\"; Improved crash reporting for internal errors. + + + + **[VSCode 3.4.9](/changelog/2023-09-26-vscode-3-4-9)** + + Added a new setting for controlling whether to add Trunk Tools to PATH. + + + + **[Plugins 1.2.4](/changelog/2023-09-26-plugins-1-2-4)** + + New tool: clangd. + + + + **[VSCode 3.4.8](/changelog/2023-09-20-vscode-3-4-8)** + + Fixed some initialization issues whenever trunk is auto-initialized in a repository. + + + + **[CLI 1.16.0](/changelog/2023-09-18-1-16-0)** + + Introduce the ability to pin a specific version of a linter, tool, or runtime in Trunk. Append a ! to its version to prevent updates via trunk upgrade; Added support for plugins in prettier versions… + + + + **[VSCode 3.4.7](/changelog/2023-09-13-vscode-3-4-7)** + + Removed some special handling for recycling Webviews; On Windows, show a message indicating that a user has opened a directory that is not a git repository when applicable. + + + + **[Plugins 1.2.3](/changelog/2023-09-07-plugins-1-2-3)** + + New tool and formatter: deno; New tool: aws-amplify. + + + + **[CLI 1.15.0](/changelog/2023-09-05-1-15-0)** + + New command line flag: --print-failures will print any failures instead of saving them to a file. + + +### August 2023 + + + **[CLI 1.14.2](/changelog/2023-08-28-1-14-2)** + + Excluded diagnostics from outside the workspace; Tool installation failures are now logged in CI mode. + + + + **[Plugins 1.2.2](/changelog/2023-08-23-plugins-1-2-2)** + + New tool: awscli. + + + + **[VSCode 3.4.5](/changelog/2023-08-22-vscode-3-4-5)** + + Updated the handling of trunk.languageServerArguments to be additive as opposed to replacing the default arguments. + + + + **[CLI 1.14.1](/changelog/2023-08-21-1-14-1)** + + Trunk now respect pip.conf in python environments; Added health checks to tool installations. + + + + **[Plugins 1.2.1](/changelog/2023-08-18-plugins-1-2-1)** + + Downgrade default ruby version to 3.1.4. + + + + **[Plugins 1.2.0](/changelog/2023-08-18-plugins-1-2-0)** + + Trunk Tools: Hermetic runtime and CLI manager; Linux arm64 support. + + + + **[CLI 1.14.0](/changelog/2023-08-18-1-14-0)** + + Introducing Trunk Tools: Hermetic runtime and CLI manager; Linux arm64 support added. + + + + **[Plugins 1.1.1](/changelog/2023-08-10-plugins-1-1-1)** + + Add support for private packages to golangci-lint. + + + + **[Plugins 1.1.0](/changelog/2023-08-01-plugins-1-1-0)** + + New security linter: dustilock; New security linter: trufflehog-git (a variant of trufflehog). + diff --git a/docs.json b/docs.json index 1ecfb3d..28efbf7 100644 --- a/docs.json +++ b/docs.json @@ -155,7 +155,8 @@ "merge-queue/reference/common-problems", "merge-queue/reference/troubleshooting" ] - } + }, + "merge-queue/changelog" ] } ] @@ -340,7 +341,8 @@ ] } ] - } + }, + "flaky-tests/changelog" ] } ] @@ -591,6 +593,186 @@ ] } ] + }, + { + "tab": "Changelog", + "hidden": true, + "pages": [ + "changelog/index", + { + "group": "2026", + "pages": [ + "changelog/2026-05-18-flaky-tests-test-labels", + "changelog/2026-05-18-flaky-tests-monitor-label-actions", + "changelog/2026-05-18-flaky-tests-failure-count-monitor", + "changelog/2026-04-30-merge-queue-chrome-extension", + "changelog/2026-04-21-merge-queue-drill-down-into-merge-metrics", + "changelog/2026-04-13-merge-queue-terraform-provider", + "changelog/2026-03-27-flaky-tests-automatically-create-jira-issues-from-webhooks", + "changelog/2026-03-26-merge-queue-testing-details-api-now-includes-impacted-target-information", + "changelog/2026-03-25-merge-queue-slack-app-home-tab", + "changelog/2026-03-25-merge-queue-multiple-queues-per-repo-with-grouped-selector", + "changelog/2026-03-24-flaky-tests-configurable-threshold-monitors-with-live-preview", + "changelog/2026-03-19-merge-queue-route-slack-notifications-to-multiple-channels", + "changelog/2026-03-19-merge-queue-list-pull-requests-public-api-endpoint", + "changelog/2026-03-13-merge-queue-prometheus-compatible-metrics-endpoint", + "changelog/2026-03-13-merge-queue-isolate-prs-from-batching-with-nobatch", + "changelog/2026-03-09-merge-queue-impacted-targets-visible-on-the-merge-graph", + "changelog/2026-03-05-merge-queue-custom-merge-commit-titles", + "changelog/2026-02-06-merge-queue-public-api-for-queue-management", + "changelog/2026-02-02-flaky-tests-infrastructure-failure-protection", + "changelog/2026-01-30-merge-queue-personal-slack-notifications", + "changelog/2026-01-23-merge-queue-support-additional-merge-methods", + "changelog/2026-01-14-merge-queue-filter-metrics-by-impacted-targets", + "changelog/2026-01-09-merge-queue-direct-merge-to-main", + "changelog/2026-01-07-merge-queue-independent-concurrency-for-batch-bisection", + "changelog/2026-01-02-merge-queue-test-caching-for-batch-failure-isolation" + ] + }, + { + "group": "2025", + "pages": [ + "changelog/2025-11-18-flaky-tests-new-api-endpoints", + "changelog/2025-11-12-plugins-1-7-4", + "changelog/2025-10-09-plugins-1-7-3", + "changelog/2025-09-09-flaky-tests-auto-quarantine-no-longer-applied-to-broken-tests", + "changelog/2025-09-09-flaky-test-corrected-cli-test-failure-reporting-flag", + "changelog/2025-09-01-ui-refresh-enhanced-dashboard-experience", + "changelog/2025-08-25-flaky-tests-new-endpoint-and-xcode-26-support", + "changelog/2025-08-25-ci-autopilot-stacked-prs-ci-triggers-and-mcp-support", + "changelog/2025-08-15-ci-autopilot-private-beta-initial-release", + "changelog/2025-08-12-code-quality-plugins-1-7-2-and-cli-1-25-0", + "changelog/2025-07-02-flaky-tests-commit-details-in-timeline", + "changelog/2025-06-25-flaky-tests-manual-test-status-overrides", + "changelog/2025-06-24-plugins-1-7-1", + "changelog/2025-06-18-test-suite-and-class-available-on-test-details-page", + "changelog/2025-06-11-flaky-tests-test-case-quarantining-setting-changed-webhook", + "changelog/2025-05-28-plugins-1-7-0", + "changelog/2025-05-28-merge-queue-failure-tab-only-displays-current-failures", + "changelog/2025-05-28-cli-1-24-0", + "changelog/2025-05-21-improved-test-failure-details", + "changelog/2025-05-15-rspec-plugin-for-ruby-repos", + "changelog/2025-05-09-sunsetting-ci-analytics-and-code-quality-web-issue-browser", + "changelog/2025-05-08-merge-queue-webhooks-on-batched-pr-merges", + "changelog/2025-04-25-link-ticket-to-test-case-api", + "changelog/2025-04-25-linear-integration", + "changelog/2025-04-17-track-environment-specific-flakes-with-variants", + "changelog/2025-04-17-merge-queue-updatequeue-api", + "changelog/2025-04-11-plugins-1-6-8", + "changelog/2025-04-09-flaky-tests-test-detail-dashboard-ui-improvements", + "changelog/2025-03-26-flaky-tests-quarantined-tests-api", + "changelog/2025-03-13-web-app-single-sign-on-sso-support", + "changelog/2025-02-26-flaky-tests-detailed-jira-integration-status-updates", + "changelog/2025-02-14-flaky-tests-set-a-custom-stable-branch", + "changelog/2025-02-10-flaky-tests-weekly-reports", + "changelog/2025-01-29-plugins-1-6-7", + "changelog/2025-01-29-flaky-tests-webhook-integration-for-slack-microsoft-teams-github-issues-and-linea", + "changelog/2025-01-28-merge-webhook-notifications-for-microsoft-teams-and-slack", + "changelog/2025-01-21-web-app-sign-in-with-microsoft", + "changelog/2025-01-16-flaky-tests-codeowners-support", + "changelog/2025-01-14-flaky-tests-support-for-bazel-build-event-protocol", + "changelog/2025-01-03-flaky-tests-flaky-test-detection-on-merge-branches" + ] + }, + { + "group": "2024", + "pages": [ + "changelog/2024-12-16-flaky-tests-webhooks-for-status-changes", + "changelog/2024-12-10-plugins-1-6-6", + "changelog/2024-11-13-plugins-1-6-5", + "changelog/2024-11-12-flaky-tests-new-onboarding-flow", + "changelog/2024-11-11-flaky-tests-added-flaky-test-commands-to-trunk-cli", + "changelog/2024-11-08-flaky-tests-dashboard-improvements", + "changelog/2024-11-04-flaky-tests-data-uploads-view", + "changelog/2024-11-04-cli-1-22-8", + "changelog/2024-10-28-flaky-tests-improved-support-for-ios-and-swift-developers", + "changelog/2024-10-17-flaky-tests-pr-test-summaries", + "changelog/2024-10-15-plugins-1-6-4", + "changelog/2024-10-14-flaky-tests-quarantining", + "changelog/2024-09-30-plugins-1-6-3", + "changelog/2024-09-30-cli-1-22-6", + "changelog/2024-09-04-cli-1-22-5", + "changelog/2024-08-27-flaky-tests-jira-integration", + "changelog/2024-08-20-plugins-1-6-2", + "changelog/2024-08-15-cli-1-22-3", + "changelog/2024-08-06-web-app-light-mode-support", + "changelog/2024-07-17-trunk-merge-queue-metrics-dashboard", + "changelog/2024-07-16-plugins-1-6-1", + "changelog/2024-07-15-test-analytics-beta-issue-handling-mvp-copy-issue-details", + "changelog/2024-07-10-trunk-merge-queue-public-api-updated", + "changelog/2024-06-28-test-analytics-beta-ux-improvements-dashboard-test-details", + "changelog/2024-06-11-plugins-1-6-0", + "changelog/2024-06-11-cli-1-22-2", + "changelog/2024-05-26-testing-using-draft-prs", + "changelog/2024-05-17-first-class-support-for-trunk-merge-queue-nx", + "changelog/2024-05-07-cli-1-22-1", + "changelog/2024-05-02-vscode-3-18-0", + "changelog/2024-04-29-vscode-3-17-0", + "changelog/2024-04-24-plugins-1-5-0", + "changelog/2024-04-23-vscode-3-16-0", + "changelog/2024-04-23-cli-1-22-0", + "changelog/2024-04-05-merge-web-hook-support", + "changelog/2024-04-05-merge-batching-support", + "changelog/2024-03-29-optimistic-merging-and-pending-failure-depth", + "changelog/2024-03-18-plugins-1-4-5", + "changelog/2024-03-15-trunk-merge-pr-prioritization", + "changelog/2024-03-13-cli-1-21-0", + "changelog/2024-03-06-vscode-3-15-0", + "changelog/2024-03-01-plugins-1-4-4", + "changelog/2024-02-26-vscode-3-14-0", + "changelog/2024-02-20-merge-support-for-forked-and-open-source-repos", + "changelog/2024-02-20-cli-1-20-1", + "changelog/2024-02-16-plugins-1-4-3", + "changelog/2024-02-15-cli-1-20-0", + "changelog/2024-01-12-merge-automatic-status-checks", + "changelog/2024-01-09-plugins-1-4-2", + "changelog/2024-01-08-cli-1-19-0", + "changelog/2024-01-04-vscode-3-13-0" + ] + }, + { + "group": "2023", + "pages": [ + "changelog/2023-12-18-plugins-1-4-1", + "changelog/2023-12-14-cli-1-18-1", + "changelog/2023-12-13-vscode-3-12-0", + "changelog/2023-12-08-plugins-1-4-0", + "changelog/2023-12-05-cli-1-18-0", + "changelog/2023-12-01-vscode-3-11-0", + "changelog/2023-11-21-trunk-merge-parallel-queues", + "changelog/2023-11-20-vscode-3-9-0", + "changelog/2023-11-20-plugins-1-3-0", + "changelog/2023-11-13-vscode-3-8-0", + "changelog/2023-11-09-1-17-2", + "changelog/2023-11-01-vscode-3-7-0", + "changelog/2023-10-26-vscode-3-6-0", + "changelog/2023-10-17-plugins-1-2-6", + "changelog/2023-10-17-1-17-1", + "changelog/2023-10-13-1-17-0", + "changelog/2023-10-12-vscode-3-5-0", + "changelog/2023-09-29-vscode-3-4-6", + "changelog/2023-09-29-plugins-1-2-5", + "changelog/2023-09-27-1-16-2", + "changelog/2023-09-26-vscode-3-4-9", + "changelog/2023-09-26-plugins-1-2-4", + "changelog/2023-09-26-1-16-1", + "changelog/2023-09-20-vscode-3-4-8", + "changelog/2023-09-18-1-16-0", + "changelog/2023-09-13-vscode-3-4-7", + "changelog/2023-09-07-plugins-1-2-3", + "changelog/2023-09-05-1-15-0", + "changelog/2023-08-28-1-14-2", + "changelog/2023-08-23-plugins-1-2-2", + "changelog/2023-08-22-vscode-3-4-5", + "changelog/2023-08-21-1-14-1", + "changelog/2023-08-18-plugins-1-2-1", + "changelog/2023-08-18-plugins-1-2-0", + "changelog/2023-08-18-1-14-0", + "changelog/2023-08-10-plugins-1-1-1", + "changelog/2023-08-01-plugins-1-1-0" + ] + } + ] } ], "global": { @@ -606,7 +788,7 @@ "anchor": "Slack community" }, { - "href": "https://trunk.io/changelog", + "href": "/changelog", "icon": "bullhorn", "anchor": "Changelog" }, @@ -643,7 +825,7 @@ "label": "Slack community" }, { - "href": "https://trunk.io/changelog", + "href": "/changelog", "label": "Changelog" }, { diff --git a/flaky-tests/changelog.mdx b/flaky-tests/changelog.mdx new file mode 100644 index 0000000..93a4f0d --- /dev/null +++ b/flaky-tests/changelog.mdx @@ -0,0 +1,286 @@ +--- +title: "Changelog" +description: "Recent updates to Trunk Flaky Tests." +rss: true +--- + + +## 2026 + +### May 2026 + + + **[Flaky Tests: Organization-Scoped Test Labels](/changelog/2026-05-18-flaky-tests-test-labels)** + + Tag, organize, and filter your test suite with org-wide labels. + + + + **[Flaky Tests: Failure Count Monitor](/changelog/2026-05-18-flaky-tests-failure-count-monitor)** + + Flag tests the moment they accumulate a configured number of failures on monitored branches. + + + + **[Flaky Tests: Apply Labels from Monitors](/changelog/2026-05-18-flaky-tests-monitor-label-actions)** + + Monitors can now apply labels to tests instead of classifying them as flaky or broken. + + +### March 2026 + + + **[Flaky Tests: Automatically Create Jira Issues from Webhooks](/changelog/2026-03-27-flaky-tests-automatically-create-jira-issues-from-webhooks)** + + A new Jira connector in your webhook settings creates issues in your Jira Cloud project whenever a test's status changes to flaky and impacts more than a configurable number of PRs. + + + + **[Flaky Tests: Configurable Threshold Monitors with Live Preview](/changelog/2026-03-24-flaky-tests-configurable-threshold-monitors-with-live-preview)** + + You now have full control over how flaky tests are detected. Threshold monitors let you define exactly when a test should be flagged as flaky or broken, set the failure rate threshold, time window,… + + +### February 2026 + + + **[Flaky Tests: Infrastructure Failure Protection](/changelog/2026-02-02-flaky-tests-infrastructure-failure-protection)** + + When infrastructure issues like database outages, network problems, or CI runner failures cause a large number of tests to fail simultaneously, retrying those tests can trigger mass false flaky… + + + +## 2025 + +### November 2025 + + + **[Flaky Tests: New API endpoints](/changelog/2025-11-18-flaky-tests-new-api-endpoints)** + + We’ve added three new endpoints to make it easier to investigate flaky tests, automate triage, and integrate test health into your workflows. + + +### September 2025 + + + **[Flaky Tests: Auto quarantine no longer applied to broken tests](/changelog/2025-09-09-flaky-tests-auto-quarantine-no-longer-applied-to-broken-tests)** + + Auto-quarantining test cases have been updated to target only 'flaky' tests specifically. Previously, both 'flaky' and 'broken' tests were subject to automatic quarantine. + + + + **[Flaky Test: Corrected CLI test failure reporting flag](/changelog/2025-09-09-flaky-test-corrected-cli-test-failure-reporting-flag)** + + Resolved an issue where test failures were not being reported or displayed when using the --disable-quarantining flag. + + +### August 2025 + + + **[Flaky Tests: New endpoint and XCode 26 support](/changelog/2025-08-25-flaky-tests-new-endpoint-and-xcode-26-support)** + + A new endpoint is available from the trunk api at /flaky-tests/list-unhealthy-tests for your CI/CD integrations. + + +### July 2025 + + + **[Flaky Tests: Commit details in timeline](/changelog/2025-07-02-flaky-tests-commit-details-in-timeline)** + + We’ve added additional details about commits that trigger test status changes to test timelines in the Flaky Tests dashboard. + + +### June 2025 + + + **[Flaky Tests: Manual test status overrides](/changelog/2025-06-25-flaky-tests-manual-test-status-overrides)** + + You can now manually set a test’s status to Flaky, Healthy, or Broken in the Flaky Tests dashboard. + + + + **[Flaky Tests: Test suite and class available on test details page](/changelog/2025-06-18-test-suite-and-class-available-on-test-details-page)** + + The names of a test’s suite and class are now visible on the test details page of the flaky test dashboard, along with a file search link for repos using either GitHub or Bitbucket as source control… + + + + **[Flaky Tests: test_case.quarantining_setting_changed webhook](/changelog/2025-06-11-flaky-tests-test-case-quarantining-setting-changed-webhook)** + + We’re happy to announce that a new testcase.quarantiningsetting_changed webhook is now available for all Flaky Tests users. + + +### May 2025 + + + **[Flaky Tests: Improved test failure details](/changelog/2025-05-21-improved-test-failure-details)** + + More changes have landed on the Flaky Tests dashboard: unique failure details on the test details page are now available in a single table view. + + + + **[RSpec Plugin for Ruby repos](/changelog/2025-05-15-rspec-plugin-for-ruby-repos)** + + The new Flaky Tests RSpec plugin is the best way to run RSpec tests and upload the results to Trunk. + + +### April 2025 + + + **[Flaky Tests: Link Ticket to Test Case API](/changelog/2025-04-25-link-ticket-to-test-case-api)** + + Today, we’re introducing a new Link Ticket to Test Case API that allows you to link your existing Linear or Jira tickets to tests in the Flaky Tests dashboard. + + + + **[Flaky Tests: Linear integration](/changelog/2025-04-25-linear-integration)** + + We now have a built-in Linear integration that creates tickets with relevant test and failure information from your flaky tests. + + + + **[Flaky Tests: Track environment-specific flakes with variants](/changelog/2025-04-17-track-environment-specific-flakes-with-variants)** + + Starting today, the --variant option should be used to upload test results when the same tests are run on different environments, also known as matrix builds. + + + + **[Flaky Tests: Test detail dashboard UI improvements](/changelog/2025-04-09-flaky-tests-test-detail-dashboard-ui-improvements)** + + The test details page in the Flaky Tests dashboard is getting a major UX overhaul. + + +### March 2025 + + + **[Flaky Tests: Quarantined Tests API](/changelog/2025-03-26-flaky-tests-quarantined-tests-api)** + + A new Quarantined Tests API is now available to all Flaky Tests users. This API fetches a list of currently quarantined tests for a given repo, allowing organizations to implement custom workflows to… + + +### February 2025 + + + **[Flaky Tests: Detailed Jira integration status updates](/changelog/2025-02-26-flaky-tests-detailed-jira-integration-status-updates)** + + We have an exciting update for teams using the Flaky Test Jira integration to create and track their tickets. + + + + **[Flaky Tests: Set a custom stable branch](/changelog/2025-02-14-flaky-tests-set-a-custom-stable-branch)** + + If your stable branch is not main, you can now set a custom stable branch for your repositories to improve flaky test detection. + + + + **[Flaky Tests: Weekly reports](/changelog/2025-02-10-flaky-tests-weekly-reports)** + + We're excited to introduce a new way to help your team stay on top of your repository's test health through weekly email reports. + + +### January 2025 + + + **[Flaky Tests: Webhook Integration for Slack, Microsoft Teams, GitHub Issues, and Linear](/changelog/2025-01-29-flaky-tests-webhook-integration-for-slack-microsoft-teams-github-issues-and-linea)** + + We're excited to introduce webhook integrations for Slack, Microsoft Teams, GitHub Issues, and Linear. + + + + **[Flaky Tests: CODEOWNERS support](/changelog/2025-01-16-flaky-tests-codeowners-support)** + + We’re thrilled to announce support for CODEOWNERS in our Flaky Tests product, which is available for both GitHub and GitLab repositories. + + + + **[Flaky Tests: Support for Bazel build event protocol](/changelog/2025-01-14-flaky-tests-support-for-bazel-build-event-protocol)** + + Trunk Flaky Tests now supports uploading test results by parsing Bazel Build Event Protocol (BEP) files. + + + + **[Flaky Tests: Flaky test detection on merge branches](/changelog/2025-01-03-flaky-tests-flaky-test-detection-on-merge-branches)** + + We’re excited to announce improved flaky test detection for merge queue users. In a merge queue, a single flaky failure will force every enqueued PR behind it to be retested, affecting every engineer… + + + +## 2024 + +### December 2024 + + + **[Flaky Tests: Webhooks for status changes](/changelog/2024-12-16-flaky-tests-webhooks-for-status-changes)** + + We’re excited to announce the addition of webhooks for flaky tests, designed to help you automate your workflows for better handling of flaky tests. + + +### November 2024 + + + **[Flaky Tests: New onboarding flow](/changelog/2024-11-12-flaky-tests-new-onboarding-flow)** + + Hi everyone, we’ve introduced a new onboarding flow to make it easier to integrate your test framework and CI provider with Trunk. + + + + **[Flaky Tests: Added Flaky Test commands to Trunk CLI ](/changelog/2024-11-11-flaky-tests-added-flaky-test-commands-to-trunk-cli)** + + The Trunk CLI now includes commands for uploading and validating test results for Trunk Flaky Tests. + + + + **[Flaky Tests: Dashboard improvements](/changelog/2024-11-08-flaky-tests-dashboard-improvements)** + + We’re continually refining our UX with the help of our beta users’ feedback and we’ve made some changes to how Flaky Tests displays key information on the dashboards. + + + + **[Flaky Tests: Data uploads view](/changelog/2024-11-04-flaky-tests-data-uploads-view)** + + A common pain point during onboarding is the lack of transparency after the Trunk CLI uploads test results. + + +### October 2024 + + + **[Flaky Tests: Improved support for iOS and Swift developers](/changelog/2024-10-28-flaky-tests-improved-support-for-ios-and-swift-developers)** + + Flaky Tests now supports the XCResults format outputted by Swift projects using XCTests. You can now upload the .xcresults format to Trunk directly, without configuring a JUnit XML reporter. + + + + **[Flaky Tests: PR test summaries](/changelog/2024-10-17-flaky-tests-pr-test-summaries)** + + We're excited to introduce a powerful new feature that will help you accelerate your PR iterations: PR Test Summaries! + + + + **[Flaky Tests: Quarantining](/changelog/2024-10-14-flaky-tests-quarantining)** + + We’re excited to provide a new way for you to mitigate the negative impact of flaky tests in your repo through quarantining. + + +### August 2024 + + + **[Flaky Tests: Jira Integration](/changelog/2024-08-27-flaky-tests-jira-integration)** + + We’re excited to announce the latest enhancement: Jira integration for managing flaky tests. This update builds on our MVP by streamlining the issue management process within Jira. + + +### July 2024 + + + **[Flaky Tests: Issue handling MVP](/changelog/2024-07-15-test-analytics-beta-issue-handling-mvp-copy-issue-details)** + + Today, we are releasing our first feature to support issue handling related to flaky tests. This MVP feature is designed to streamline reporting and managing flaky tests, saving valuable time and… + + +### June 2024 + + + **[Flaky Tests: UX improvements](/changelog/2024-06-28-test-analytics-beta-ux-improvements-dashboard-test-details)** + + We are rolling out substantial UX improvements to the dashboard and detail views. These enhancements provide users with quick and easy access to critical information. + diff --git a/merge-queue/changelog.mdx b/merge-queue/changelog.mdx new file mode 100644 index 0000000..3b2f55b --- /dev/null +++ b/merge-queue/changelog.mdx @@ -0,0 +1,249 @@ +--- +title: "Changelog" +description: "Recent updates to Trunk Merge Queue." +rss: true +--- + + +## 2026 + +### April 2026 + + + **[Merge Queue: Chrome Extension](/changelog/2026-04-30-merge-queue-chrome-extension)** + + The Trunk Chrome Extension brings merge queue controls directly into your GitHub pull request page. + + + + **[Merge Queue: Drill Down Into Merge Metrics](/changelog/2026-04-21-merge-queue-drill-down-into-merge-metrics)** + + Merge Queue Health metrics can now be drilled down to the individual pull requests behind any data point. + + + + **[Merge Queue: Terraform Provider](/changelog/2026-04-13-merge-queue-terraform-provider)** + + Merge Queue can now be managed fully through Terraform. Previously, creating, updating, and managing a Trunk Merge Queue was a manual process handled through our UI. + + +### March 2026 + + + **[Merge Queue: Testing Details API Now Includes Impacted Target Information](/changelog/2026-03-26-merge-queue-testing-details-api-now-includes-impacted-target-information)** + + The Get Testing Details API now returns impacted target information, giving CI systems everything they need to launch the right tests. + + + + **[Merge Queue: Multiple Queues Per Repo with Grouped Selector](/changelog/2026-03-25-merge-queue-multiple-queues-per-repo-with-grouped-selector)** + + Previously, a repo could only have one queue. Now you can create additional queues from the merge queue creation page. The repo selector shows repos that already have queues and how many exist. + + + + **[Merge Queue: Slack App Home Tab](/changelog/2026-03-25-merge-queue-slack-app-home-tab)** + + The Trunk Slack App Home tab is now a full control plane for your merge queue activity across all your organizations. + + + + **[Merge Queue: List Pull Requests Public API Endpoint](/changelog/2026-03-19-merge-queue-list-pull-requests-public-api-endpoint)** + + A new POST /v1/listPullRequests endpoint lets you query all PRs in your merge queue programmatically. Filter by state (not ready, pending, testing, merged, failed, cancelled), time range, and… + + + + **[Merge Queue: Route Slack Notifications to Multiple Channels](/changelog/2026-03-19-merge-queue-route-slack-notifications-to-multiple-channels)** + + Merge queue Slack notifications can now be routed to multiple channels. Previously, notifications went to a single configured channel. + + + + **[Merge Queue: Prometheus-Compatible Metrics Endpoint](/changelog/2026-03-13-merge-queue-prometheus-compatible-metrics-endpoint)** + + Merge Queue now exposes a Prometheus-compatible metrics endpoint for integration with your existing monitoring stack. + + + + **[Merge Queue: Isolate PRs from Batching with noBatch](/changelog/2026-03-13-merge-queue-isolate-prs-from-batching-with-nobatch)** + + PRs can now opt out of batching to test in isolation. When a high-risk PR is in the queue, batching it with other PRs means a failure forces the entire batch to restart. + + + + **[Merge Queue: Impacted Targets Visible on the Merge Graph](/changelog/2026-03-09-merge-queue-impacted-targets-visible-on-the-merge-graph)** + + The merge graph now shows impacted targets directly on nodes and edges, so you can see exactly why PRs are connected and which targets they share. + + + + **[Merge Queue: Custom Merge Commit Titles](/changelog/2026-03-05-merge-queue-custom-merge-commit-titles)** + + You can now customize the merge commit title for any PR in the queue. Add merge-commit-title: Your custom title here on its own line anywhere in your PR body, and the merge queue will use that as the… + + +### February 2026 + + + **[Merge Queue: Public API for Queue Management](/changelog/2026-02-06-merge-queue-public-api-for-queue-management)** + + You can now fully manage your merge queues through the Trunk API without touching the web UI. + + +### January 2026 + + + **[Merge Queue: Personal Slack Notifications](/changelog/2026-01-30-merge-queue-personal-slack-notifications)** + + Get direct messages in Slack about your PRs in the merge queue, keeping you informed without adding noise to team channels and allowing you to address failures immediately. + + + + **[Merge Queue: Support Additional Merge Methods](/changelog/2026-01-23-merge-queue-support-additional-merge-methods)** + + You can now select your preferred merge method for PRs going through the merge queue. Previously, Trunk Merge only supported squash merging, which combines all commits into a single commit. + + + + **[Merge Queue: Filter Metrics by Impacted Targets](/changelog/2026-01-14-merge-queue-filter-metrics-by-impacted-targets)** + + Now you can filter merge queue health metrics by impacted targets to see exactly how well this parallel workflow is performing for each part of your codebase. + + + + **[Merge Queue: Direct Merge to Main](/changelog/2026-01-09-merge-queue-direct-merge-to-main)** + + Skip redundant testing and merge immediately when your PR is already up-to-date and the queue is empty + + + + **[Merge Queue: Independent Concurrency for Batch Bisection](/changelog/2026-01-07-merge-queue-independent-concurrency-for-batch-bisection)** + + When a batch of PRs fails and needs to be split apart to identify the culprit, you want those bisection tests to run as fast as possible so developers get quick feedback about what broke. + + + + **[Merge Queue: Test Caching for Batch Failure Isolation](/changelog/2026-01-02-merge-queue-test-caching-for-batch-failure-isolation)** + + When you use batching mode, the merge queue tests multiple PRs together for efficiency. If a batch fails, the queue needs to figure out which specific PR caused the problem by splitting the batch… + + + +## 2025 + +### May 2025 + + + **[Merge Queue: Failure tab only displays current failures](/changelog/2025-05-28-merge-queue-failure-tab-only-displays-current-failures)** + + We’ve updated the Merge Queue Failure tab so that only PRs that failed and have not been resubmitted to the queue are displayed. + + + + **[Merge Queue: Webhooks on batched PR merges](/changelog/2025-05-08-merge-queue-webhooks-on-batched-pr-merges)** + + Webhooks are now available for batched PR merges in Merge Queue. This allows you to build custom automations and respond to events when batching is enabled. + + +### April 2025 + + + **[Merge Queue: updateQueue API](/changelog/2025-04-17-merge-queue-updatequeue-api)** + + We’ve added a new updateQueue API to Trunk Merge Queue that enables you to update a Merge Queue’s state. + + +### January 2025 + + + **[Merge: Webhook notifications for Microsoft Teams and Slack](/changelog/2025-01-28-merge-webhook-notifications-for-microsoft-teams-and-slack)** + + We're excited to share our new webhook integrations for Trunk Merge. You can now send notifications about events in the merge queue to your Microsoft Teams and Slack channels. + + + +## 2024 + +### July 2024 + + + **[Merge Queue: New metrics dashboard](/changelog/2024-07-17-trunk-merge-queue-metrics-dashboard)** + + Merge queues are integral to validating and merging PRs - a critical part of any development process. Minimizing the friction to merge a PR and ensuring the merging process remains fast is essential… + + + + **[Merge Queue: API updates](/changelog/2024-07-10-trunk-merge-queue-public-api-updated)** + + Trunk Merge Queue has added more functionality to its public API, allowing it to fit seamlessly into any integration. + + +### May 2024 + + + **[Merge Queue: Draft PR support](/changelog/2024-05-26-testing-using-draft-prs)** + + Trunk Merge Queue, by default, will now raise draft pull requests in order to test changes submitted to the merge queue! Trunk Merge Queue is now even easier to get started with and no longer… + + + + **[Merge Queue: First class Nx support](/changelog/2024-05-17-first-class-support-for-trunk-merge-queue-nx)** + + Trunk Merge Queue, through its Parallel Queues feature, can dynamically create new merge queues to test only the pull requests with potential conflicts together. + + +### April 2024 + + + **[Merge Queue: Batching support](/changelog/2024-04-05-merge-batching-support)** + + Trunk Merge Queue now supports grouping PRs into batches for greater throughput. See Batching docs for more details. + + + + **[Merge Queue: Webhook support](/changelog/2024-04-05-merge-web-hook-support)** + + Trunk Merge Queue now supports webhooks to provide realtime events to integrated platforms. See the Webhooks API doc for more details. + + +### March 2024 + + + **[Merge Queue: Optimistic merging and pending failure depth](/changelog/2024-03-29-optimistic-merging-and-pending-failure-depth)** + + Merge Queue now supports Optimistic Merging to allow failed tests to be merged if later PRs pass. Merge Queue also now supports Pending Failure Depth to allow failed tests to remain in the queue for… + + + + **[Merge Queue: PR prioritization](/changelog/2024-03-15-trunk-merge-pr-prioritization)** + + Support for setting the priority of a pull request from the command line or a GitHub comment. Higher priority PRs will move ahead of lower priority PRs. See PR Prioritization docs for more details. + + +### February 2024 + + + **[Merge Queue : Support for forked and open source repos](/changelog/2024-02-20-merge-support-for-forked-and-open-source-repos)** + + Trunk Merge Queue now supports uploading impacted targets from forked PRs, and has more verbose information on PRs for contributors that aren't a part of the same Trunk org. + + +### January 2024 + + + **[Merge Queue: Automatic status checks](/changelog/2024-01-12-merge-automatic-status-checks)** + + Trunk Merge Queue now supports automatically setting the required status checks by scanning the GitHub branch protection of the target branch. See Define Required Status For Testing for details. + + + +## 2023 + +### November 2023 + + + **[Trunk Merge Queue - Parallel Queues](/changelog/2023-11-21-trunk-merge-parallel-queues)** + + Trunk Merge Queue now offers two modes for creating merge queues: \"Single\" and \"Parallel\". The Single mode operates as a standard first-in, first-out merge queue, where pull requests (PRs) are added… +