From eff67332aa4e8bc86716f3600ce8ed9bb373efbd Mon Sep 17 00:00:00 2001 From: Tyler Koenig Date: Fri, 12 Jun 2026 17:47:48 -0400 Subject: [PATCH] fix(release): exclude rc tags from cliff tag_pattern so launch notes span full history MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ignore_tags drops rc-tagged commits from the final tag's section instead of folding them forward — a simulated v0.1.0 rendered zero commits. Excluding rc tags from tag_pattern makes finals span back to the last real tag (full history for v0.1.0, verified 8.8KB in a scratch clone) and rc tags render [Unreleased] with everything pending. --- cliff.toml | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/cliff.toml b/cliff.toml index 25e135f..99b1d71 100644 --- a/cliff.toml +++ b/cliff.toml @@ -23,11 +23,13 @@ filter_unconventional = true split_commits = false protect_breaking_commits = false filter_commits = false -tag_pattern = "v[0-9].*" -# rc tags are pipeline rehearsals, not releases — without this, the final -# tag's notes would only cover commits since the last rc (near-empty for -# v0.1.0). Ignored tags fold their commits into the next real release. -ignore_tags = "v.*-rc.*" +# Only final tags count as releases — rc rehearsal tags must not become +# section boundaries, or the final tag's notes would cover only +# commits-since-last-rc (v0.1.0 rendered 0 commits with ignore_tags, which +# drops rc-tagged commits instead of folding them forward). With rc tags +# outside the pattern, finals render the full span and rc tags render +# [Unreleased] with everything pending. Verified empirically on both. +tag_pattern = 'v[0-9]+\.[0-9]+\.[0-9]+$' topo_order = false sort_commits = "oldest"