Zum Inhalt springen

Plugin: generator-changelog-md

import { Aside } from ‘@astrojs/starlight/components’;

Erzeugt ein erweitertes Markdown-CHANGELOG.md mit Commit-Gruppierung, PR/Commit-Verlinkung, Contributor-Sektionen und optionaler Eintrags-Archivierung. Als Ersatz für semrels eingebauten Changelog-Writer verwenden, wenn ein reichhaltigeres Format gewünscht wird.

Terminal-Fenster
semrel plugin install @semrel/generator-changelog-md

semrel plugin install lädt die Binary nach .semrel/plugins/ herunter und aktualisiert .semrel.lock. .semrel.lock committen, um die Version für das Team zu pinnen.

.semrel.yaml
commit_changelog: false # eingebauten Schreiber überspringen; Plugin übernimmt CHANGELOG.md
plugins:
- uses: @semrel/condition-gitlab-ci
phase: condition
- uses: @semrel/generator-changelog-md
phase: pre-tag # muss pre-tag sein — läuft vor dem Tag, wird von semrel auto-committed
args:
keep_releases: "10" # 10 vollständige Einträge behalten; ältere werden zusammengefasst
signature: "true" # optionaler semrel.io-Footer, explizit opt-in
- uses: @semrel/provider-gitlab
  1. semrel berechnet die Release-Version und sammelt Commits (SEMREL_CHANGELOG env var).
  2. Das generator-changelog-md-Plugin empfängt SEMREL_CHANGELOG und schreibt ein erweitertes CHANGELOG.md direkt auf die Disk (keep_releases > 0 erforderlich).
  3. semrel committed automatisch alle geänderten, getrackte Dateien (inkl. CHANGELOG.md) bevor der Git-Tag erstellt wird.
  4. Der Tag zeigt auf den Commit mit dem erweiterten Changelog.
NamePflichtStandardBeschreibung
SEMREL_PLUGIN_KEEP_RELEASESJa (für Disk-Write)0Anzahl voll expandierter Einträge. 0 = nur stdout, nichts auf Disk geschrieben.
SEMREL_PLUGIN_TEMPLATEneineingebautPfad zu einem eigenen Go-Template.
SEMREL_PLUGIN_MAX_COMMITSnein100Maximale Anzahl enthaltener Commits.
SEMREL_PLUGIN_GROUP_BY_TYPEneintrueCommits nach Conventional-Commit-Typ gruppieren.
SEMREL_PLUGIN_LINK_PRSneintrue(#123) PR-Referenzen verlinken.
SEMREL_PLUGIN_LINK_COMMITSneintrue40-Zeichen-Commit-SHAs verlinken.
SEMREL_PLUGIN_SIGNATUREneinfalseHängt optional einen Footer mit Link auf https://semrel.io an den generierten Release-Eintrag an.
SEMREL_PLUGIN_AI_DISCLOSUREneinfalseErkennt KI-Co-Autoren-Trailer (z.B. Co-authored-by: Copilot) und hängt ein Badge an jede KI-unterstützte Commit-Zeile.
SEMREL_PLUGIN_AI_DISCLOSURE_BADGEnein🤖Badge, der an KI-unterstützte Zeilen angehängt wird. Für Plaintext-Umgebungen [AI] verwenden.
SEMREL_PLUGIN_AI_DISCLOSURE_SECTIONneinfalseHängt einen aufklappbaren 🤖 KI-unterstützte Beiträge-Abschnitt an (erfordert SEMREL_PLUGIN_AI_DISCLOSURE=true).
SEMREL_PLUGIN_CHANGELOG_FILEneinCHANGELOG.mdAusgabedateipfad.

Wenn SEMREL_PLUGIN_SIGNATURE=true, endet der generierte Markdown-Eintrag mit:

---
*Generated by [semrel.io](https://semrel.io)*