Skip to content

Release notes per ticket ​

Per release gaan er veel issues door Spexso. De technische CHANGELOG (Conventional Commits, commit-and-tag-version) is volledig maar niet voor de business. Met release-note-fragmenten schrijft Spexso per afgewerkte issue één of twee zinnen voor de lezer, en bundelt die bij de release.

1. Aanzetten ​

In .spexso/config.json:

json
"releaseNotes": { "language": "nl" }

Zonder language schrijft Spexso Engels. Toon en woordkeuze leg je vast in .spexso/rules/release-notes.local.md (optioneel).

2. Tijdens het werk ​

/spexso-finish schrijft vóór de MR release-notes/unreleased/{id}.md:

markdown
---
issue: 42
category: new
audience: end-user
---
Managers keuren verlofaanvragen van hun hele team in één stap goed.
  • category: new, improved, fixed of config — afgeleid van het type::-label; config als de spec rollen, instellingen of deploy-stappen noemt.
  • audience: end-user, key-user of operator.
  • Het fragment zit in de MR: je ziet en verbetert het bij de review. Eén bestand per issue, dus geen conflicten tussen MR's of in de merge train.
  • Ook in de marathon en de factory: er is niets interactiefs aan.

Geen note voor een issue? Zet het label skip-release-note. Een type::tech-debt- of type::spike-issue krijgt nooit een fragment.

3. Bij de release ​

bash
npx spexso release-notes                              # versie uit package.json
npx spexso release-notes 2.4.0 --publish              # en op de GitLab-release van tag v2.4.0
npx spexso release-notes 2.4.0 --publish --tag rel-2.4.0
  • Schrijft release-notes/2.4.0.md, gegroepeerd: Nieuw, Verbeterd, Opgelost, Configuratie-impact.
  • Verplaatst de fragmenten naar release-notes/2.4.0/ en commit (docs(release-notes): 2.4.0); pushen doe je zelf, bijvoorbeeld samen met de release-commit.
  • --publish zet de tekst op de GitLab-release van de tag, en maakt die release aan als ze nog niet bestaat. De tag moet al bestaan: draai het na npm run release en de push van de tag.
  • De fragmenten moeten gecommit zijn; een los of gewijzigd fragment stopt het commando voor het iets schrijft.
  • Een versie verzamel je één keer: bestaat release-notes/2.4.0.md al, dan stopt het commando.

De technische CHANGELOG van commit-and-tag-version blijft; de release notes zijn de laag voor mensen erbovenop.