|
1 | 1 | --- |
2 | 2 | description: 'Prepare the next release' |
3 | 3 | --- |
4 | | -Your task is to prepare the next release: |
5 | | -1. Analyze the recent changes in the codebase, using git commit messages and diffs. |
6 | | -Use the following git commands to gather the necessary information: |
7 | | -```sh |
8 | | -git --no-pager log --reverse $(git --no-pager describe --tags --abbrev=0)..HEAD --pretty=format:"commit %H%nAuthor: %an <%ae>%nDate: %ad%nSubject: %s%n%n%b" --date=short -p --no-color |
9 | | -``` |
10 | | -2. Identify significant features, bug fixes, and improvements. |
11 | | -3. Write clear and concise release notes summarizing these changes, appending them in data/com.ranfdev.DistroShelf.metainfo.xml.in. Ensure you add the new release entry at the top of the releases section with the current date. |
12 | | -4. Look at the version history in data/com.ranfdev.DistroShelf.metainfo.xml.in to determine the next version number, following semantic versioning principles. |
13 | | -5. Update the version number in the root meson.build |
14 | | -6. Do a final git commit with the message "vX.Y.Z". Finally, tag the commit with "vX.Y.Z". |
| 4 | +Your task is to prepare the next release for the project: |
| 5 | +1. Analyze the recent changes in the codebase since the last tag, using git commit messages. Ensure to retrieve all commits, not just a subset, by using a command that lists all commit subjects or full log without patches if it causes truncation. For example, use `git log --oneline --reverse $(git describe --tags --abbrev=0)..HEAD` to get all commit subjects since the last tag. |
| 6 | +2. Identify significant user-visible features, bug fixes, and improvements from the commit messages. Ignore internal refactors, translations updates unless they add new languages, and other non-user-facing changes. |
| 7 | +3. Write clear and concise release notes summarizing only the user-visible changes, appending them in the appropriate release notes file (e.g., metainfo.xml.in or CHANGELOG.md) with the current date. Add the new release entry at the top of the releases section. |
| 8 | +4. Determine the next version number following semantic versioning principles (major.minor.patch), based on the types of changes (new features: minor, breaking changes: major, fixes: patch). |
| 9 | +5. Update the version number in the build configuration file (e.g., meson.build or package.json). |
| 10 | +6. Do a final git commit with the message "vX.Y.Z" for the updated files. Finally, tag the commit with "vX.Y.Z". Use commands like `git add -A && git commit -m "vX.Y.Z"` and `git tag vX.Y.Z`. |
0 commit comments