-
-
Notifications
You must be signed in to change notification settings - Fork 6.3k
Automatic generation of release notes #35977
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Automatic generation of release notes #35977
Conversation
d36f97f to
f32b963
Compare
|
Also cc @techknowlogick for further review and help (#35976 (comment)) , in case you already have more discussions. |
|
In 1406ccc:
|
|
In followup PR, when I find some time I will implement additional configuration for this feature, like it is on GitHub: https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes |
Still many And #35977 (comment)
|
Ok, I made it less defensive now @wxiaoguang
We haven't, but @techknowlogick feel free to review my PR |
wxiaoguang
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TBH, still questions (only a quick look, not carefully look into backend code yet)
|
A UX problem: If user has input many message in the textarea, then click the "Generate release notes" button, then their work is lost and no way to undo? Is it better to "append" but not "replace"? |
services/release/notes.go
Outdated
| func parseSemanticVersion(tag string) *version.Version { | ||
| tag = strings.TrimSpace(tag) | ||
| tag = strings.TrimPrefix(tag, "v") | ||
| tag = strings.TrimPrefix(tag, "V") | ||
| v, err := version.NewVersion(tag) | ||
| if err != nil { | ||
| return nil | ||
| } | ||
| return v | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should it support tag name with fields? For example: releases/v1.0
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, good idea. What would you say if, in such a case, it needed to match the same field as the currently created tag?
For example, if we are creating a new release with the tag release/v1.1.0, it would look for release/v1.0.0, but not for nightly/1.0.0.
Or maybe it’s overengineering, and we should keep it simple. Let me know how you see it, and I can adjust the logic.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe we should remove the "Auto" feature, and always let end users choose?
We can make a best guess (only compare the last field) to make the latest tag to be selected by default on the UI. It could also simplify the code.
And users can clearly know what would happen
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, I'll do it like this. I hope to find some time today, but can't promise
I can implement that in the following PR, along with other improvements. But first, I'd like to have this one merged. |
Fine with me. |
|
Branch needs to be updated and it will likely have some new typescript issues because we enabled |
Just tested with GitHub, it "resolves" this problem by disabling the generation when the textarea is not empty: ps: GitHub has more logic for the "generation", I didn't mean that we must follow GitHub, while I think at least we should avoid surprising end users. Maybe using a modal dialog is better, then the UI can be simplified and more options can be added in the future (for example: add a checkbox to also add commit messages without a PR) |
This comment was marked as resolved.
This comment was marked as resolved.
|
Made some new changes and addressed the concerns above (by my understanding). New changes
New screenshots |
|
Thank you for wrapping it up @wxiaoguang, I was busy lately.. One thing: I don't think moving previous tag selections saves any space. UX was better without modal IMO |
|
Fair enough. Is there anything else here left to do? |
No from my side. Maybe we can leave it open for some time in case other maintainers would have suggestions. If nothing more to change, I think we can get it merged in one or two days. Thank you very much for this awesome feature! |






Similar to GitHub, release notes can now be generated automatically.
The generator is server-side and gathers the merged PRs and contributors and returns the corresponding Markdown text.
Screenshots