Cut a patch release v2.0.1 of @kickstartds/telekom-salespartner-kit that
bundles the 13 follow-up fixes landed on main after v2.0.0 (form-field
behaviour and styling, header/footer regressions, missing icon/font, copy
corrections). Produce all release artifacts (snapshots, diffs, changelog,
per-module docs), publish to npm, integrate into the sibling
website-toolkit repo.
- Version:
2.0.1— patch bump. All deltas are bugfixes / minor polish on top of the v2.0.0 markup baseline; no new public API, no intentional breaking change. - Working tree: must be clean before release work starts (same pre-flight as v2.0.0).
- Baseline: v2.0.0. The
v2.0.0tag exists on origin, soscripts/release/previous-version.shresolves the previous tag automatically. Revert the TEMP hardcode inscripts/release/postversion.sh(PREVIOUS_VERSION="v1.2.0") back to the script invocation before runningyarn version. - Release flow: manual
yarn version+ the existingpostversion.shhook (same as v2.0.0). Not usingauto/release-it. - Changelog scope — user-visible deltas vs. v2.0.0 only: same rule as
v2.0.0, anchored on v2.0.0 instead of v1.2.0. The diffs in
diffs/v2.0.1/(v2.0.0 → v2.0.1) are the source of truth for what changed in the markup; commit messages are only a hint at why.- ❌ Internal refactors that net out to zero markup change.
- ✅ Any DOM / class / attribute change present in
diffs/v2.0.1/*.patch. - ✅ Visible behaviour change (e.g. hover state restored, font fixed) even if not captured by the static snapshot diff.
Snapshot at PRD time; re-verify with git log v2.0.0..HEAD before Step 1.
fbbd2b4chore: update documentation and changelogsff4c62d[enhancement] updated preview screenshots72407ccfix: add note to changelog about css and js2b33521fix: update typofb6a612fix: missing font in accordion labelc032576fix: spacing between congstar and body text on Leistungen page7299ca0fix: one more instance of spacing between congstar and body text2f5210ffix: missing icon in gk servicesf1b2d26fix: add legal notes from startpage to offers pagef130aadfix: footer visited and hover states for menu links0b4abfffix: form styles and behaviour (ODSTextField,ODSTextArea,text-field.client.js)270fa35fix: responsive header font sizing5a0e12bfix: checkbox icon hover states
Touched component areas (from git diff --stat v2.0.0..HEAD -- src/):
accordion/—AccordionComponent.tsx,accordion.client.jsfooter/footer.scssform-fields/checkbox/—ODSCheckbox.tsx,checkbox.scssform-fields/text-area/—ODSTextArea.tsx,text-area.scssform-fields/text-field/—ODSTextField.tsx,text-field.client.jsheader/header.scssservices/Services.stories.tsxsolutions/Solutions.stories.tsx- Page stories:
Angebote.stories.tsx,Leistungen.stories.tsx,Service.stories.tsx
Expected diffs/v2.0.1/ candidates: Accordion, Footer, Header (responsive
typography may or may not flip a static snapshot), text-field /
text-area / checkbox form rendering, plus page stories that pulled in the
Offers legal-notes addition / GK service icon / spacing tweaks.
- Anything that would change shipped behaviour beyond the 13 commits listed above (no opportunistic refactors, no new modules, no ODS re-pin).
- Re-running the v2.0.0 changelog filter — the v2.0.0 entry in
docs/docs/changes/index.mdstays as-is. - Re-generating
diffs/v2.0.0/orsnapshots/v2.0.0/.
- Working tree clean (
git statusempty). - On branch
main, up to date withorigin/main. -
git fetch --tags→git tag --list 'v*'includesv2.0.0. -
scripts/release/previous-version.sh v2.0.1printsv2.0.0. - Revert the TEMP hardcode in
scripts/release/postversion.shsoPREVIOUS_VERSIONis computed viaprevious-version.shagain. Commit separately:chore(release): restore dynamic previous-version lookup. -
yarn installclean, no peer-dep warnings. -
yarn schema && rollup -cbuilds without TS errors. -
yarn build-docsbuilds (docs changelog parses, no broken anchors except the known/modules/contact-request#v120-21082025from v2.0.0).
Smaller delta than v2.0.0, but same procedure. Run before bumping the
version so postversion.sh captures the correct baseline.
yarn schema && yarn buildyarn markup— regeneratessrc/components/*/__snapshots__/*.snap(vitest). Review diffs; expect changes in accordion, form-fields, page stories touched by the 13 commits.yarn test— regenerates__snapshots__/*.png. Review the changed subset visually (form fields, header at narrow viewport, accordion label, footer link states, checkbox hover, GK services icon).- Optional:
yarn create-component-previewsto refreshstatic/img/screenshotsif visually changed (theff4c62dcommit already refreshed them — only re-run if Step 2/3 surfaces further visual deltas). - Commit:
chore(release): regenerate snapshots for v2.0.1.
Acceptance: yarn markup green, no uncommitted snapshot files.
yarn version --new-version 2.0.1
postversion (after the TEMP hardcode revert in pre-flight)
automatically:
- Runs
scripts/release/postversion.sh v2.0.1, which:save-snapshots.sh v2.0.1→ writessnapshots/v2.0.1/*.snap.htmland*.snap.cjs.generate-snapshot-patches.sh v2.0.0 v2.0.1→ writesdiffs/v2.0.1/<Component>-Beispiel.snap.html.patchper module that changed. Patches are generated against the normalized snapshot viascripts/release/normalize-html-attrs.mjs(Strategy 3 attr order).
git add . && git commit --amend --no-editfolds artifacts into the version commit.git tag -f v2.0.1retags.
Acceptance: snapshots/v2.0.1/ populated, diffs/v2.0.1/ populated
(may be small or empty for some modules), HEAD is the version-bump
commit, v2.0.1 tag points at it.
Inspect every diffs/v2.0.1/*.snap.html.patch. Expect a much smaller set
than v2.0.0. The diff list drives:
- Which modules need a new
### v2.0.1block in their.mdx. - Which modules need a bullet under
✏️ Markupin the changelog.
For each patch decide:
- Real markup change → document in module + changelog.
- Whitespace-only / attribute-reorder-only → squelch from changelog (still keep the patch file). The normalizer should have eliminated most reorder noise already; remaining tiny patches are most likely meaningful.
If a fix is behaviour-only (e.g. hover state CSS) with no snapshot
diff, document under 🐛 Bugfixes without a Markup subsection.
Edit docs/docs/changes/index.md, prepending a ## v2.0.1 (<DD.MM.YYYY>)
block above v2.0.0. Match the structure used by v2.0.0.
Filter rule (per Scope decision 5): only include items where the v2.0.1 output differs from the published v2.0.0 output.
Sections (omit any with no entries):
### 🐛 Bugfixes— primary section for this release. Expected bullets, grouped by module:- Hover/visited states für Footer-Menü-Links wiederhergestellt (Footer)
- Responsive Schriftgrößen im Header korrigiert (Header)
- Fehlende Schriftauszeichnung im Accordion-Label ergänzt (Accordion)
- Hover-State des Checkbox-Icons korrigiert (Contact Request)
- Verhalten und Styling der Formularfelder
(
ODSTextField,ODSTextArea) korrigiert (Contact Request) - Fehlendes Icon in GK-Services ergänzt (Services)
### ⌨️ Inhalt— only if content changed vs. v2.0.0. Expected bullets:- Rechtshinweise von der Startseite zusätzlich auf der Angebote-Seite ergänzt (Angebote)
- Abstand zwischen congstar und Body-Text auf Leistungen-Seite korrigiert (Leistungen)
- Typo korrigiert
### ✏️ Markup— list of all modules with a non-empty patch indiffs/v2.0.1/, linking each to its module page anchor#v201-<DDMMYYYY>, plus the[hier zusammengefasst](/changes/2.0.1/)pointer only if Step 5 produces a release-summary page.
Source material for bullets, in priority order:
diffs/v2.0.1/*.patch— authoritative markup deltas vs. v2.0.0.git diff v2.0.0..HEAD -- src/**/*.scss src/**/*.tsx src/**/*.client.js— visual / behavioural deltas vs. v2.0.0.- The 13 commit messages — only as hints; never copy 1:1.
Tone: short German bullets, past participle / noun-phrase style, link
each bullet to the affected module(s) via the
/modules/<slug>#v201-<DDMMYYYY> anchor convention.
Note about consumer integration: only add the
"CSS- und JavaScript-Assets aktualisieren" hint
(present in the v2.0.0 entry) if dist/ actually changed in a
breaking-for-integrators way. For a patch release this is usually still
true (any JS/CSS shipped) — keep a short reminder line at the top of the
release section.
Only if diffs/v2.0.1/ contains one or more non-empty patches:
Create docs/docs/changes/2.0.1/index.mdx, mirroring
docs/docs/changes/2.0.0/index.mdx:
importeachdiffs/v2.0.1/<Component>-Beispiel.snap.html.patch.- For each affected module, render a
## Module→### [Name](...)block with bullet summary +<Accordion>wrapping<DiffViewer {...Patch} />. - Frontmatter:
title: Markup v2.0.1.
If no patches survive Step 3 (i.e. all 2.0.1 changes are
behaviour-only), skip this step and omit the hier zusammengefasst
link from the changelog.
For each module in docs/docs/modules/*.mdx whose component has a
diffs/v2.0.1/*.patch:
- Add
import Patch201 from "../../../diffs/v2.0.1/<Component>-Beispiel.snap.html.patch";alongside the existingPatch200import. - Insert a new
### v2.0.1 (<DD.MM.YYYY>)section under## Markup, above the v2.0.0 section, with:- Bullet list of changes (1–2 bullets, copied from changelog source).
Alle Änderungen aus diesem Release [finden sich hier](/changes/2.0.1/).(only if Step 5 produced a summary page).<Accordion>+<DiffViewer {...Patch201} />.
For modules touched only by a behaviour fix (no patch): add a brief
### v2.0.1 (<DD.MM.YYYY>) under the existing ### 🚀 Verbesserungen /
introductory area of the module page if it would help integrators (e.g.
"Hover-State der Footer-Links wiederhergestellt"); otherwise leave the
module page untouched and surface the fix only in the changelog.
Pattern reference: docs/docs/modules/heroes.mdx ## Markup section.
yarn build-storybook && yarn chromatic— review and approve baselines. Diff set should be small and focused on the changed components.- a11y spot-check via Storybook addon-a11y on Header (responsive), Footer (focus/hover/visited), Accordion (label), Contact Request form (field validity + checkbox hover).
yarn build-docsand manual walkthrough of/changes/,/changes/2.0.1/(if created), and every module page with a newv2.0.1section. Spot-check/pages/angebote,/pages/leistungen,/pages/jobs,/pages/startseitefor the content fixes.
git push origin main(after Step 1–7 commits land locally).git push origin v2.0.1(after user confirmation — tag push is hard to reverse).- No PR needed; releases now land directly on
main.
After main is pushed:
yarn publish(triggersprepublishOnly→build+build-storybook).- Verify
@kickstartds/telekom-salespartner-kit@2.0.1on npm.
yarn build-docsyarn integrate— copiesdocs-static/into sibling../website-toolkit/.- Commit + push in
website-toolkit(separate repo, separate confirmation).
snapshots/v2.0.1/— HTML +.snap.cjsbaselines.diffs/v2.0.1/*.snap.html.patch— per-component patches (expected subset, not all modules).docs/docs/changes/index.md— prepended v2.0.1 entry above v2.0.0.docs/docs/changes/2.0.1/index.mdx— release summary page (only if patches exist).docs/docs/modules/*.mdx— per-module v2.0.1 Markup sections (only for changed modules).package.json— version2.0.1.- Git tag
v2.0.1. - Published npm package
@kickstartds/telekom-salespartner-kit@2.0.1. - Updated
website-toolkitworking copy.
-
scripts/release/postversion.shno longer hardcodesPREVIOUS_VERSION(TEMP comment removed,previous-version.shcall restored). -
package.jsonversion2.0.1, tagv2.0.1exists. -
snapshots/v2.0.1/committed;diffs/v2.0.1/committed (may be a subset of v2.0.0). -
docs/docs/changes/index.mdhas v2.0.1 entry above v2.0.0. -
docs/docs/changes/2.0.1/index.mdxexists and renders if any non-empty patches exist. - Every module with a v2.0.1 patch has a
### v2.0.1Markup section. -
yarn build,yarn build-storybook,yarn build-docsall green. -
yarn markupgreen;yarn testgreen; Chromatic baselines approved. -
npm view @kickstartds/telekom-salespartner-kit@2.0.1resolves. -
website-toolkitupdated and pushed.
postversion.shhardcode forgotten: pre-flight checklist makes reverting it a blocking step; verify by runningscripts/release/previous-version.sh v2.0.1and confirming it printsv2.0.0before bumping.- Patch set turns out smaller than expected: some fixes are
behaviour-only (hover states, JS interaction). That's fine — the
changelog can carry the bugfix bullets without a Markup section /
summary page. Don't pad
diffs/v2.0.1/artificially. - Form-field markup churn: the
0b4abff"form styles and behaviour" commit touched both TSX and client JS; expect non-trivial patches inContactRequest-Beispiel.snap.html.patch. Budget extra review time there and confirm a11y didn't regress (label/for, aria-invalid). - Header responsive typography: viewport-dependent styles may not surface in the static markup snapshot at all. Rely on Chromatic and manual viewport sweep instead of patches for that fix.
- Tag push is irreversible: same guard as v2.0.0 — explicit user
confirmation before
git push origin v2.0.1.
- Pre-tag-push:
git tag -d v2.0.1 && git reset --hard v2.0.0(followed by re-applying any non-release-bump commits as needed). - Post-tag-push, pre-publish:
git push --delete origin v2.0.1+ reset. - Post-publish:
npm deprecatethe bad version; cut2.0.2with the fix. Do not unpublish.