mirror of
https://github.com/go-gitea/gitea.git
synced 2026-03-10 22:06:34 -05:00
New approach to changelog management #3226
Closed
opened 2025-11-02 05:04:39 -06:00 by GiteaMirror
·
20 comments
No Branch/Tag Specified
main
release/v1.25
release/v1.24
release/v1.23
release/v1.22
release/v1.21
release/v1.20
release/v1.19
release/v1.18
release/v1.17
release/v1.16
release/v1.15
release/v1.14
release/v1.13
release/v1.12
release/v1.11
release/v1.10
release/v1.9
release/v1.8
v1.25.3
v1.25.2
v1.25.1
v1.25.0
v1.24.7
v1.25.0-rc0
v1.26.0-dev
v1.24.6
v1.24.5
v1.24.4
v1.24.3
v1.24.2
v1.24.1
v1.24.0
v1.23.8
v1.24.0-rc0
v1.25.0-dev
v1.23.7
v1.23.6
v1.23.5
v1.23.4
v1.23.3
v1.23.2
v1.23.1
v1.23.0
v1.23.0-rc0
v1.24.0-dev
v1.22.6
v1.22.5
v1.22.4
v1.22.3
v1.22.2
v1.22.1
v1.22.0
v1.23.0-dev
v1.22.0-rc1
v1.21.11
v1.22.0-rc0
v1.21.10
v1.21.9
v1.21.8
v1.21.7
v1.21.6
v1.21.5
v1.21.4
v1.21.3
v1.21.2
v1.20.6
v1.21.1
v1.21.0
v1.21.0-rc2
v1.21.0-rc1
v1.20.5
v1.22.0-dev
v1.21.0-rc0
v1.20.4
v1.20.3
v1.20.2
v1.20.1
v1.20.0
v1.19.4
v1.21.0-dev
v1.20.0-rc2
v1.20.0-rc1
v1.20.0-rc0
v1.19.3
v1.19.2
v1.19.1
v1.19.0
v1.19.0-rc1
v1.20.0-dev
v1.19.0-rc0
v1.18.5
v1.18.4
v1.18.3
v1.18.2
v1.18.1
v1.18.0
v1.17.4
v1.18.0-rc1
v1.19.0-dev
v1.18.0-rc0
v1.17.3
v1.17.2
v1.17.1
v1.17.0
v1.17.0-rc2
v1.16.9
v1.17.0-rc1
v1.18.0-dev
v1.16.8
v1.16.7
v1.16.6
v1.16.5
v1.16.4
v1.16.3
v1.16.2
v1.16.1
v1.16.0
v1.15.11
v1.17.0-dev
v1.16.0-rc1
v1.15.10
v1.15.9
v1.15.8
v1.15.7
v1.15.6
v1.15.5
v1.15.4
v1.15.3
v1.15.2
v1.15.1
v1.14.7
v1.15.0
v1.15.0-rc3
v1.14.6
v1.15.0-rc2
v1.14.5
v1.16.0-dev
v1.15.0-rc1
v1.14.4
v1.14.3
v1.14.2
v1.14.1
v1.14.0
v1.13.7
v1.14.0-rc2
v1.13.6
v1.13.5
v1.14.0-rc1
v1.15.0-dev
v1.13.4
v1.13.3
v1.13.2
v1.13.1
v1.13.0
v1.12.6
v1.13.0-rc2
v1.14.0-dev
v1.13.0-rc1
v1.12.5
v1.12.4
v1.12.3
v1.12.2
v1.12.1
v1.11.8
v1.12.0
v1.11.7
v1.12.0-rc2
v1.11.6
v1.12.0-rc1
v1.13.0-dev
v1.11.5
v1.11.4
v1.11.3
v1.10.6
v1.12.0-dev
v1.11.2
v1.10.5
v1.11.1
v1.10.4
v1.11.0
v1.11.0-rc2
v1.10.3
v1.11.0-rc1
v1.10.2
v1.10.1
v1.10.0
v1.9.6
v1.9.5
v1.10.0-rc2
v1.11.0-dev
v1.10.0-rc1
v1.9.4
v1.9.3
v1.9.2
v1.9.1
v1.9.0
v1.9.0-rc2
v1.10.0-dev
v1.9.0-rc1
v1.8.3
v1.8.2
v1.8.1
v1.8.0
v1.8.0-rc3
v1.7.6
v1.8.0-rc2
v1.7.5
v1.8.0-rc1
v1.9.0-dev
v1.7.4
v1.7.3
v1.7.2
v1.7.1
v1.7.0
v1.7.0-rc3
v1.6.4
v1.7.0-rc2
v1.6.3
v1.7.0-rc1
v1.7.0-dev
v1.6.2
v1.6.1
v1.6.0
v1.6.0-rc2
v1.5.3
v1.6.0-rc1
v1.6.0-dev
v1.5.2
v1.5.1
v1.5.0
v1.5.0-rc2
v1.5.0-rc1
v1.5.0-dev
v1.4.3
v1.4.2
v1.4.1
v1.4.0
v1.4.0-rc3
v1.4.0-rc2
v1.3.3
v1.4.0-rc1
v1.3.2
v1.3.1
v1.3.0
v1.3.0-rc2
v1.3.0-rc1
v1.2.3
v1.2.2
v1.2.1
v1.2.0
v1.2.0-rc3
v1.2.0-rc2
v1.1.4
v1.2.0-rc1
v1.1.3
v1.1.2
v1.1.1
v1.1.0
v1.0.2
v1.0.1
v1.0.0
v0.9.99
Labels
Clear labels
$20
$250
$50
$500
backport/done
💎 Bounty
docs-update-needed
good first issue
hacktoberfest
issue/bounty
issue/confirmed
issue/critical
issue/duplicate
issue/needs-feedback
issue/not-a-bug
issue/regression
issue/stale
issue/workaround
lgtm/need 2
modifies/api
modifies/translation
outdated/backport/v1.18
outdated/theme/markdown
outdated/theme/timetracker
performance/bigrepo
performance/cpu
performance/memory
performance/speed
pr/breaking
proposal/accepted
proposal/rejected
pr/wip
pull-request
reviewed/wontfix
💰 Rewarded
skip-changelog
status/blocked
topic/accessibility
topic/api
topic/authentication
topic/build
topic/code-linting
topic/commit-signing
topic/content-rendering
topic/deployment
topic/distribution
topic/federation
topic/gitea-actions
topic/issues
topic/lfs
topic/mobile
topic/moderation
topic/packages
topic/pr
topic/projects
topic/repo
topic/repo-migration
topic/security
topic/theme
topic/ui
topic/ui-interaction
topic/ux
topic/webhooks
topic/wiki
type/bug
type/deprecation
type/docs
type/enhancement
type/feature
type/miscellaneous
type/proposal
type/question
type/refactoring
type/summary
type/testing
type/upstream
Mirrored from GitHub Pull Request
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/gitea#3226
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @jolheiser on GitHub (Apr 22, 2019).
Currently, our approach to changelogs is working, however as we continue to have more PRs it starts to become unwieldy.
As an example, more often than not when making a changelog/blog post, each commit/PR needs to be checked for proper capitalization, wording, etc.
Currently we use our internal changelog "generator" which relies on hitting GitHub's API and puts PRs into piles based on tags and uses their title.
This issue is meant to discuss possible alternatives and whether they are needed or would provide benefit to the project.
As more alternatives are mentioned, I can add them to the below list.
Current proposed alternatives
Gitlab's approach to changelogs, requiring each commit/PR to be accompanied by a YAML file describing the change, which would then be used to generate the changelog.
Conventional Commits, which would require specifically styled commit messages that would be used to generate the changelog.
@jolheiser commented on GitHub (Apr 22, 2019):
@go-gitea/maintainers pinging for feedback.
@techknowlogick commented on GitHub (Apr 22, 2019):
Another alternative is https://www.conventionalcommits.org/
although this would require more effort on the effort of developers worrying about their commits messages, and might need to have devs squash their commits (so the squash/merge commit into master isn't cluttered with WIP commits).
Edit: I should note, I am for switching to GitLab style changelog rather than enforcing a commit style (or PR title style) because it would allow a cleaner changelog, as some PRs are minor updates for others and probably don't need an entry in the changelog.
@markusamshove commented on GitHub (Apr 23, 2019):
I want to take the chance and ask if you could build a link into the changelog that goes to a diff of the example app ini, comparing it to the previous version, because that's what I'm doing manually to see if I have to/can configure something new
@lunny commented on GitHub (Apr 25, 2019):
@MarkusAmshove I thinks that's off topic. You can fire another issue to do that.
@guillep2k commented on GitHub (Nov 14, 2019):
How does this work? Is the .yml file part of the commit? Is it somewhere in the PR comments?I see, the YAML will be part of the PR. I'm not comfortable with such approach:
[Changelog]label...I don't know if there can be some editorial action before creating the final changelog, but there should be one anyway, since the importance of some PRs is contextual to what other PRs were included. So, a final revision of the changelog is somewhat unavoidable.
@jolheiser commented on GitHub (Nov 14, 2019):
This issue may be a partial duplicate of #505 as well...
@jolheiser commented on GitHub (Nov 14, 2019):
Now that I've read through #505, I see we would even have a potential starting point with https://gitlab.com/bkc/changelogger
@jolheiser commented on GitHub (Nov 14, 2019):
Not necessarily. Do all quick fixes need a changelog entry? Currently they are all included, but perhaps they don't need to be?
We could always make suggestions, or even add a changelog entry for them after the fact if needed.
I don't understand?
Perhaps, but that also required the author to change their PR title.
I agree, it would just be nice to have a better consensus before we make a changelog PR.
All that being said, I'm not all aboard the Gitlab train. I just think something should change, as our current process can be fickle.
@guillep2k commented on GitHub (Nov 14, 2019):
I mean, people that don't clone Gitea's repo but use the online editor to PR a quick fix. Those PR's are single file commits, usually. Granted, they can add more files later.
@jolheiser commented on GitHub (Nov 14, 2019):
Ah, I see. That would fall under the semi-related "do those really need to be in the changelog in the first place?" discussion imo
@guillep2k commented on GitHub (Nov 14, 2019):
It seems to me that we should decide first on some kind of editorial rules on what needs to make it to the change log and how it should look like before deciding how that is actually implemented. 🤔
@lafriks commented on GitHub (Nov 14, 2019):
imho easiest and best way is to mark all PR's needed to be included in changelog to be marked with changelog label. We should fix PR title to be descriptive for changelog before merging
@sapk commented on GitHub (Nov 15, 2019):
I agree with @lafriks we can even easely edit title and labels of PR merged (not the commit) so we can also add PR by adding changelog label and edit title if not explicit. We could do a quick review of un-labeled changelog PR before release to see if some are missing.
@lunny commented on GitHub (Nov 15, 2019):
How about make rules for PR's title and create a bot to check that and deny the merge before it matched the rules? And of course the bot could also check approvals count and add some labels. Teabot I think that should be a better method.
The bot could be a drone plugin and could be the first step of gitea's drone file or a standalone service which could accept webhooks.
@lunny commented on GitHub (Nov 15, 2019):
Since now is 9102, we should hire more bots to help us development. :(
@jolheiser commented on GitHub (Nov 15, 2019):
I am fine with the above options as long as the mergers/owners are willing to do the work since we cannot help with those. Don't want you guys to have to do everything manually yourselves 😄
@lunny commented on GitHub (Nov 15, 2019):
@jolheiser That's github's limitation. After we moved to gitea.com, we have a issueManager team then more maintainers could help to do these work. 😄
@jolheiser commented on GitHub (Nov 15, 2019):
:exclamation::exclamation:❗ That's right! :exclamation:❗❗
I forgot about that.
@bkcsoft commented on GitHub (Nov 15, 2019):
No longer an active member, but since my tool (and therefore I) got mentioned I'll throw in my 2 cents as well 🙂
As a project grows larger, its changelog will grow with it. Being selective about what goes in it is not going to change that. But not including quickfixes/type-Os would be a good start 🙂
This would still need to happen at some stage, whether its done like it is now, or in the PR itself (Owners can edit title and body), or in a YAML-file inside the commits, would not change this fact.
Someone needs to write it in understandable English, this could be done by the Contributor, or by an Owner (who has push-rights), or by a Bot (controlled by some factors).
And there would be no need for contributors to install a new tool, they'd only fill out a YAML-file. The tool would be used by maintainers/owners when they make the Release.
Not necessarily, Owners can change the PR title as well. This could be further setup with a bot (say
/title-bot "new fancy title"), that has owner-status, so that other maintainers would have this access as well.PRs will extremely rarely have its changelog-worthyness changed after it's merged. When the PR is up for merge, it should be obvious whether it needs a changelog entry for it or not 🙂
This would be nice even if you go the YAML-route, have CI check if there's a changelog-file in the PR if [changelog] tag is set.
This should be done even if you don't use PR title/body for changelogs. As it makes things more searchable from the PR-list 😉
@lunny commented on GitHub (May 25, 2023):
As a discussion, I think we can close this one. If anyone has a better method for the changelog, he can create another proposal issue.