Skip to content

Don't add useless labels which will bother changelog generation#37267

Merged
lunny merged 2 commits intogo-gitea:mainfrom
lunny:lunny/better_changelog
Apr 19, 2026
Merged

Don't add useless labels which will bother changelog generation#37267
lunny merged 2 commits intogo-gitea:mainfrom
lunny:lunny/better_changelog

Conversation

@lunny
Copy link
Copy Markdown
Member

@lunny lunny commented Apr 17, 2026

When generating release notes for v1.26, many pull requests haven't been given correct labels so that I have to do many manual work. I think this could be avoid to remove these useless modify labels.

@GiteaBot GiteaBot added the lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. label Apr 17, 2026
@silverwind
Copy link
Copy Markdown
Member

silverwind commented Apr 17, 2026

Can't we just ignore modifies/* labels in that changelog tool? Where is it?

I do find these labels somewhat useful, but not overly so.

@lunny
Copy link
Copy Markdown
Member Author

lunny commented Apr 18, 2026

Can't we just ignore modifies/* labels in that changelog tool? Where is it?

I do find these labels somewhat useful, but not overly so.

The problem is maintainers will forget to add correct labels once modify labels are added. The changelog tool itself never read modify labels because they cannot be used to generate changelogs.

@silverwind
Copy link
Copy Markdown
Member

silverwind commented Apr 18, 2026

Maybe we should just use AI to generate the changelog. Will probably be much more accurate then those labels will ever be because almost no one sets them correctly.

I don't think I can approve removing all these labels, they could be slimmed down considerable, but outright removal is too much imho.

Can you manually fix this up for v1.26 or do you absolutely need it now?

@lunny
Copy link
Copy Markdown
Member Author

lunny commented Apr 18, 2026

Maybe we should just use AI to generate the changelog. Will probably be much more accurate then those labels will ever be because almost no one sets them correctly.

I don't think I can approve removing all these labels, they could be slimmed down considerable, but outright removal is too much imho.

Can you manually fix this up for v1.26 or do you absolutely need it now?

Could you have some real usages for these labels? I don't know how will you use these labels and how many users/maintainers will use these labels.

@silverwind
Copy link
Copy Markdown
Member

They give me a overview what a PR touches. When commits are pushed, it's often nice validation to see labels being added/removed.

@lunny
Copy link
Copy Markdown
Member Author

lunny commented Apr 18, 2026

They give me a overview what a PR touches. When commits are pushed, it's often nice validation to see labels being added/removed.

If you are using AI, it can have a summary for which files changed on the PR description which is more useful than these labels.

i.e. What could you know from label modifies/internal? Or modifies/frontend?

@silverwind
Copy link
Copy Markdown
Member

silverwind commented Apr 18, 2026

Those 2 are useless, especially internal is ambiguous and should be dropped. modifies/go for example is somewhat useful. I could live with these 4 only:

  • modifies/go
  • modifies/ts
  • modifies/css
  • modifies/templates

But no hard blocker I guess. If more people agree to remove all, I'm fine.

@GiteaBot GiteaBot added lgtm/need 1 This PR needs approval from one additional maintainer to be merged. and removed lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. labels Apr 18, 2026
@silverwind
Copy link
Copy Markdown
Member

Where is that changelog tool's source code? I think this is a weak attempt at fixing the problem from the wrong angle. The real fix should be in that tool.

Copy link
Copy Markdown
Member

@silverwind silverwind left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not acceptable, this is a blind workaround, not a root cause fix (which is in the changelog tool being too eager on labels).

@GiteaBot GiteaBot added lgtm/blocked A maintainer has reservations with the PR and thus it cannot be merged and removed lgtm/need 1 This PR needs approval from one additional maintainer to be merged. labels Apr 18, 2026
@TheFox0x7
Copy link
Copy Markdown
Contributor

Why not mandate each PR to have a small markdown file for the changelog?
I don't trust LLM to accurately summarize each PR in history without going off track and making stuff up - and you'd have to look through it either way so doing (even LLM made) change log per PR seems more managable to me.

@silverwind
Copy link
Copy Markdown
Member

silverwind commented Apr 18, 2026

I would remove this changelog tool and either:

  • adopt a single "notable-change" opt-in label which, when set, will include a change in the changelog. small manual management effort, but guarantees no false-positives
  • force authors to write changelogs, imho bad approach, too much extra work for authors we shouldn't expect from authors
  • make changelog include a full unfiltered list of commits (i do that on all my repos)
  • run an AI at release-time to identify notable user-facing changes and list them in the changelog by commit title, one-time action every 3 months

@silverwind
Copy link
Copy Markdown
Member

silverwind commented Apr 18, 2026

Why not mandate each PR to have a small markdown file for the changelog?

This forces extra work onto every PR author that they might not be willing to do, I'm against it. Some authors don't even bother to write a good PR title or descriptions.

I don't trust LLM to accurately summarize each PR in history

I don't mean summarize, I mean use AI just to identify notable user-facing changes and filter the list of commit titles. Same output format as currently.

@TheFox0x7
Copy link
Copy Markdown
Contributor

TheFox0x7 commented Apr 18, 2026

make changelog include a full unfiltered list of commits

Yeah this won't work here unless PR descriptions get shortish and get updated before merge. Which isn't always the case from what I seen.

run an AI at release-time to write the changelog for notable changes, one-time action every 3 months

Still requires you to go through the output, unless you're willing to risk non-existing changes being documented. I don't trust LLMs to produce reliable output in that regard. Besides - personally - I don't like reading what they write. It feels... wrong. I can't explain why but there's sometimes an uncanny valley feeling to the text they make.

adopt a single "notable-change" opt-in label which, when set, will include a change in the changelog. small manual management effort, but guarantees no false-positives

It's more for a blog post I think... But it's a good idea regardless.

force authors to write changelogs, imho bad approach, too much extra work for authors we shouldn't expect from authors

why? Who else would know what the change changes? Author is the right person to write what their change does.
Some authors don't bother reading what they wrote in PR description or in the code they generated. I guess we should start enforcing the PR description first.

@silverwind
Copy link
Copy Markdown
Member

silverwind commented Apr 18, 2026

I don't like reading what they write

You misunderstand. AI will not be writing any content, it will just do the filtering only, so it's job is just the identification of relevant PRs only.

Some authors don't bother reading

Lazy authors will not bother and contribution count will go down. Many core contributors I would classify as lazy, they often open PRs with "no description" and sloppy titles.

@TheFox0x7
Copy link
Copy Markdown
Contributor

You misunderstand. AI will not be writing any content, it will just do the filtering only, so it's job is just the identification of relevant PRs only.

I did write it before you expanded on it so yeah, I did. Regardless I don't trust it to do that either. You have no guarantee that it'll catch all PRs that are relevant, nor that it won't include irrelevant ones.
Manual (label or via an author made comment) approach is just reliable and reproducible (and it costs 0 units of any currency to run). If you want you can run LLM on top of that to look if there's something that initially was missed and I have no issue with that being an add-on on top of the "existing" process

@lunny
Copy link
Copy Markdown
Member Author

lunny commented Apr 18, 2026

Those 2 are useless, especially internal is ambiguous and should be dropped. modifies/go for example is somewhat useful. I could live with these 4 only:

  • modifies/go
  • modifies/ts
  • modifies/css
  • modifies/templates

But no hard blocker I guess. If more people agree to remove all, I'm fine.

What do these labels mean to you? Once you find them, what information do they provide, and how would you interpret and act on it?

@lunny
Copy link
Copy Markdown
Member Author

lunny commented Apr 18, 2026

Not acceptable, this is a blind workaround, not a root cause fix (which is in the changelog tool being too eager on labels).

These labels are not intended for changelog generation. I couldn’t find any meaningful purpose for them, and they only seem to confuse or bother reviewers.

@silverwind
Copy link
Copy Markdown
Member

silverwind commented Apr 18, 2026

These labels give me context what subsystems a PR touches, it is marginally helpful imho. I already told that 3 times already.

These labels are not intended for changelog generation

Then ignore them in that tool, I already told you that 3 times already too.

@lunny
Copy link
Copy Markdown
Member Author

lunny commented Apr 18, 2026

These labels give me context what subsystems a PR touches, it is marginally helpful imho. I already told that 3 times already.

These labels are not intended for changelog generation

Then ignore them in that tool, I already told you that 3 times already too.

Do you mean that when a PR is labeled with a special modifies/xx label, that label determines whether you will review it without even clicking into the changed files? Personally, I don’t usually look at these labels—I make my judgment based on the PR title and description instead.

@GiteaBot GiteaBot added lgtm/need 1 This PR needs approval from one additional maintainer to be merged. and removed lgtm/blocked A maintainer has reservations with the PR and thus it cannot be merged labels Apr 18, 2026
@silverwind
Copy link
Copy Markdown
Member

silverwind commented Apr 18, 2026

I'll just remain neutral on this topic. If others don't like these labels I'm ok with removal. They do add some noise which I agree on.

@silverwind silverwind self-requested a review April 18, 2026 20:40
@bircni
Copy link
Copy Markdown
Member

bircni commented Apr 18, 2026

I would also like to keep them

@bircni
Copy link
Copy Markdown
Member

bircni commented Apr 18, 2026

Was there ever a discussion about conventional commits? Would also help a lot I think

@silverwind
Copy link
Copy Markdown
Member

I think labels could be kept but reorganized to be by subsystem purely, interesting subsystems identifyable by path alone may be migration, build, ui. Ideally no prefix.

Copy link
Copy Markdown
Member

@silverwind silverwind left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's remove them for now. @lunny after merge delete all relevant labels on GitHub UI please.

@GiteaBot GiteaBot added lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. and removed lgtm/need 1 This PR needs approval from one additional maintainer to be merged. labels Apr 19, 2026
@silverwind
Copy link
Copy Markdown
Member

conventional commits

Not sure. If we generate Changelog via AI, than I'd say no, not needed.

@lunny lunny merged commit a17d5eb into go-gitea:main Apr 19, 2026
26 checks passed
@GiteaBot GiteaBot added this to the 1.27.0 milestone Apr 19, 2026
@lunny lunny deleted the lunny/better_changelog branch April 19, 2026 18:34
zjjhot added a commit to zjjhot/gitea that referenced this pull request Apr 20, 2026
* main: (25 commits)
  Add WebKit to e2e test matrix (go-gitea#37298)
  Don't add useless labels which will bother changelog generation (go-gitea#37267)
  Fix Repository transferring page (go-gitea#37277)
  Stabilize issue-project e2e test, increase timeout factor (go-gitea#37297)
  Fix Mermaid diagrams failing when node labels contain line breaks (go-gitea#37296)
  Add project column picker to issue and pull request sidebar (go-gitea#37037)
  Fix container auth for public instance (go-gitea#37290)
  Refactor frontend `tw-justify-between` layouts to `flex-left-right` (go-gitea#37291)
  Update Nix flake (go-gitea#37284)
  Workflow Artifact Info Hover (go-gitea#37100)
  [skip ci] Updated translations via Crowdin
  release notes for 1.26.0 (go-gitea#37282)
  Enhance GetActionWorkflow to support fallback references (go-gitea#37189)
  Refactor LDAP tests (go-gitea#37274)
  Remove `SubmitEvent` polyfill (go-gitea#37276)
  Upgrade go-git to v5.18.0 (go-gitea#37268)
  Avoid top-level await (go-gitea#37272)
  Frontend iframe renderer framework: 3D models, OpenAPI (go-gitea#37233)
  pull: Fix CODEOWNERS absolute path matching. (go-gitea#37244)
  Swift registry metadata: preserve more JSON fields and accept empty metadata (go-gitea#37254)
  ...
@silverwind
Copy link
Copy Markdown
Member

silverwind commented Apr 20, 2026

Looking at the PR list now, it looks bare without the labels, making it impossible to visually categorize PRs. Not even dependency-touching PRs (which require extra scrutiny) are marked. I think it's a step back. I would definitely want to add automatic subsystem labels back e.g. a deps label etc.

@bircni
Copy link
Copy Markdown
Member

bircni commented Apr 20, 2026

Looking at the PR list now, it looks bare without the labels, making it impossible to visually categorize PRs. Not even dependency-touching PRs (which require extra scrutiny) are marked. I think it's a step back. I would definitely want to add automatic subsystem labels back e.g. a deps label etc.

Yes please!!!

@silverwind
Copy link
Copy Markdown
Member

silverwind commented Apr 20, 2026

I could make Claude find a label scheme for subsystem-based labels, I'd keep simple with no modifies/ prefix, but if filtering based on that prefix is desired, we can keep it. @lunny please provide your feedback on that first.

@lunny
Copy link
Copy Markdown
Member Author

lunny commented Apr 20, 2026

Sorry. I’ve never felt the need for those labels, and I’m personally very satisfied with the current system.

My habit is to read every GitHub notification, so I review every PR notification anyway. Because of that, I don’t really need labels to help me filter PRs. I trust the labels that maintainers apply to understand what a PR is for.

What's your requirements to filter PRs via labels?

@silverwind
Copy link
Copy Markdown
Member

silverwind commented Apr 20, 2026

I don't really use it for filtering but as a visual classification. Take a look at https://github.com/nodejs/node/pulls, i want to replicate that, e.g. deps, go, js, mig, actions etc labels, very simple and short labels.

BTW you still have not told me where that changelog tool lives. I think it should be trivial to add a label exclusion config from within the repo.

@lunny
Copy link
Copy Markdown
Member Author

lunny commented Apr 20, 2026

I don't really use it for filtering but as a visual classification. Take a look at nodejs/node/pulls, i want to replicate that, e.g. deps, go, js, mig, actions etc labels, very simple and short labels.

What's the labels meant for them? I will not block the tool if there are enough maintainers need it.

BTW you still have not told me where that changelog tool lives. I think it should be trivial to add a label exclusion config from within the repo.

Sorry. Missed that. It's in https://gitea.com/gitea/changelog

@silverwind
Copy link
Copy Markdown
Member

silverwind commented Apr 20, 2026

  1. It's less about "need" and more about "nice to have"
  2. Ok, I see that changelog tool is stale since 2 years, maybe we should adopt a better system like conventional commits. Better to use something well-thought out instead of such homebrew tools.

silverwind added a commit to 6543-forks/gitea that referenced this pull request Apr 21, 2026
…n-better

* origin/main: (645 commits)
  When the requested arch rpm is missing fall back to noarch (go-gitea#37236)
  Fix `relative-time` error and improve global error handler (go-gitea#37241)
  Enhance styling in actions page (go-gitea#37323)
  fix(oauth): Error on auth sources with spaces (go-gitea#37327)
  Fix actions concurrency groups cross-branch leak (go-gitea#37311)
  Fix bug when accessing user badges (go-gitea#37321)
  Fix AppFullLink (go-gitea#37325)
  Update go js dependencies (go-gitea#37312)
  Update GitHub Actions to latest major versions (go-gitea#37313)
  Revert "Add WebKit to e2e test matrix (go-gitea#37298)" (go-gitea#37315)
  Add `form-fetch-action` to some forms, fix "fetch action" resp bug (go-gitea#37305)
  Move heatmap to first-party code (go-gitea#37262)
  Use updated yaml fields for snapcraft (go-gitea#37318)
  Remove dead code identified by `deadcode` tool (go-gitea#37271)
  Enable strict TypeScript, add `errorMessage` helper (go-gitea#37292)
  Fix vite manifest update masking build errors (go-gitea#37279)
  bump snapcraft base (go-gitea#37301)
  Add WebKit to e2e test matrix (go-gitea#37298)
  Don't add useless labels which will bother changelog generation (go-gitea#37267)
  Fix Repository transferring page (go-gitea#37277)
  ...

# Conflicts:
#	options/locale/locale_en-US.ini
#	templates/package/content/debian.tmpl
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. type/miscellaneous

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants