Skip to main content

update-changelog

Update docs/CHANGELOG.md with every commit since the last release notes update, one user-facing line per change linking to the GitHub commit. Use when the user asks to "update the changelog", "update the release notes", or add recent commits to docs/CHANGELOG.md.

Ir para a instalação

Informações da origem

Repositório
Xpra-org/xpra
Última atividade na origem
14 de setembro de 2026 às 12:18
Idioma detectado do SKILL.md
inglês
Estrelas
2.975
Forks
237

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
update-changelog
description
Update docs/CHANGELOG.md with every commit since the last release notes update, one user-facing line per change linking to the GitHub commit. Use when the user asks to "update the changelog", "update the release notes", or add recent commits to docs/CHANGELOG.md.
# update-changelog Adds the commits made since the last changelog update to the top (unreleased) section of `docs/CHANGELOG.md`. Readers use these notes to decide whether a release is relevant to them. ## Steps ### 1. Find the commits to add ```sh git log --oneline -5 -- docs/CHANGELOG.md # last "update the release notes" commit git log --oneline <last-update>..HEAD # new commits git diff docs/CHANGELOG.md # uncommitted edits already made by the user - keep them ``` Earlier updates sometimes missed commits, so also check every commit since the last release tag. A commit counts as covered if the changelog already links its hash, its `(cherry picked from commit ...)` origin, or the commit named in a "Port of ..." body: ```sh tag=$(git describe --tags --abbrev=0) for h in $(git log --format=%H $tag..HEAD); do grep -q "$h" docs/CHANGELOG.md && continue o=$(git log -1 --format=%b $h | sed -n 's/.*cherry picked from commit \([0-9a-f]*\).*/\1/p') [ -n "$o" ] && grep -q "$o" docs/CHANGELOG.md && continue git log -1 --format='%h %ad %s' --date=short $h done ``` Skip only housekeeping commits: `update the release notes`, `bump version`, and changelog-only doc commits. Everything else goes in, including branch-specific test changes (put those under Cosmetic). Add the missed older commits too, and tell the user which ones were missed. ### 2. Understand what each commit fixes Read `git show <hash>`: the body, the diff, and any new tests. Tests often show the real bug best. Work out what the user saw: which clients or servers, which options, and whether the code path is on by default (check `xpra/scripts/config.py`). That decides both the wording and the category. ### 3. Write the entries Format, under the right category in the top section: ``` * [description of the problem](https://github.com/Xpra-org/xpra/commit/<full 40-char hash>) ``` - **Describe the problem, not the code change.** Say what broke and for whom, e.g. "GTK clients fail to restack a window above or below another window", not "pass GdkWindow instead of ClientWindow". Mention the option or platform when the bug depends on it, e.g. "with `modal-windows` enabled, ...". - **One commit per line.** A fixup or a very closely related commit goes on the same line: ` * [main change](url) + [fixup](url)`. Other short forms already in the file also work, such as `[... ](url) [and ...](url)` and `+ [on macOS](url)`. - **Which hash to link:** - a `git cherry-pick -x` commit links the master commit named in `(cherry picked from commit ...)` - a manual port (e.g. body says "Port of <hash>") links the **branch commit**, not master - everything else links the branch commit - Always use full hashes: `git rev-parse <short>`. ### 4. Categories Use the categories already in the top section, keeping their emoji. The usual ones are: `🔧 Platforms, build and packaging`, `⚠️ Major`, `🌈 Encodings`, `Minor`, `*️⃣ Keyboard`, `📋 Clipboard`, `🎥 Recorder / replay`, `🖧 Network`, `💄 Cosmetic`. Some are subsystem-specific, e.g. `Wayland backend`, `CUDA and NVENC`, `macOS`, `MS Windows`. - Add a **new category** only when more than 4 commits refer to the same subsystem. Move the related existing entries into it. - **Major**: crashes, broken features, sessions or windows unusable, on default settings. - **Minor**: real bugs with a narrow trigger, like a non-default option or an unusual setup. - **Cosmetic**: logging errors, spurious warnings, unit tests, CI, type checks. ### 5. Finish - Change the date on the top section header (`## [x.y.z] YYYY-MM-DD`) to today. - Check coverage again with the loop from step 1. Only the housekeeping commits should be left. - Only edit `docs/CHANGELOG.md`. Do not commit unless asked. - Report what was added and where, which older commits had been missed, and anything left out and why.
Ver no GitHub