Diese Dokumentation erklärt, wie die automatische CHANGELOG-Generierung in Bash-Script-Maker funktioniert.
- 📝 CHANGELOG.md aktualisiert mit neuer Version und Änderungen
- 🏷️ Kategorisierung basierend auf Commit-Message-Präfixen
- 📅 Datum hinzugefügt im Format
YYYY-MM-DD - 🔗 Version verlinkt für bessere Navigation
Die CHANGELOG-Kategorisierung erfolgt automatisch basierend auf Commit-Message-Präfixen:
| Präfix | CHANGELOG-Kategorie | Beschreibung |
|---|---|---|
feat: / feature: |
Added | Neue Features |
fix: / bugfix: |
Fixed | Fehlerbehebungen |
docs: / doc: |
Documentation | Dokumentation |
style: / refactor: |
Changed | Code-Änderungen |
test: / tests: |
Testing | Test-Verbesserungen |
chore: / build: / ci: |
Technical | Technische Änderungen |
perf: / performance: |
Performance | Performance-Optimierungen |
security: / sec: |
Security | Sicherheits-Updates |
Merge pull request |
Added | Pull Request merged |
# Wird zu "Added" Kategorie
feat: add dark mode toggle to settings
feature(ui): implement new dashboard layout
# Wird zu "Fixed" Kategorie
fix: resolve memory leak in script parser
bugfix(editor): fix syntax highlighting for large files
# Wird zu "Documentation" Kategorie
docs: update installation guide for Ubuntu 22.04
doc(api): add examples for custom syntax highlighters
# Wird zu "Changed" Kategorie
style: apply black formatting to all Python files
refactor: restructure main application class
# Wird zu "Security" Kategorie
security: update dependencies to fix CVE-2023-1234## [1.11.0] - 2025-01-15
### Added
- Add dark mode toggle to settings
## [1.10.1] - 2025-01-14
### Fixed
- Resolve memory leak in script parser
## [1.10.0] - 2025-01-13
### Documentation
- Update installation guide for Ubuntu 22.04Für lokale Tests oder manuelle Einträge:
# CHANGELOG-Eintrag für neue Version generieren
python3 generate_changelog_entry.py "1.2.3" "feat: add new awesome feature"
# Mit spezifischem Release-Typ
python3 generate_changelog_entry.py "1.3.0" "feat: major UI improvements" "minor"
# Bugfix
python3 generate_changelog_entry.py "1.2.4" "fix: resolve parser issue" "patch"Der auto-release-on-push.yml Workflow:
- 📝 Analysiert die Commit-Message
- 🏷️ Kategorisiert die Änderung
- 📋 Generiert CHANGELOG-Eintrag
- 💾 Committet die Änderungen
- 🚀 Erstellt GitHub Release
- name: Generate release notes and update CHANGELOG
run: |
# Commit-Message analysieren
COMMIT_MSG="${{ github.event.head_commit.message }}"
# CHANGELOG-Kategorie bestimmen
if [[ "$COMMIT_MSG" =~ ^(feat|feature) ]]; then
CATEGORY="Added"
elif [[ "$COMMIT_MSG" =~ ^(fix|bugfix) ]]; then
CATEGORY="Fixed"
# ... weitere Kategorien
fi
# CHANGELOG.md aktualisieren
cat > CHANGELOG.md << EOF
## [$NEW_VERSION] - $CURRENT_DATE
### $CATEGORY
- $CLEAN_MESSAGE
EOF# Changelog
## [Unreleased]
### Added
- Neue Features für nächste Version
## [1.2.0] - 2025-01-15
### Added
- Neue Feature-Implementierung
- Weitere neue Funktionalität
### Fixed
- Behobener Bug in Parser
- Korrigierte UI-Darstellung
### Changed
- Verbesserte Performance
- Aktualisierte Abhängigkeiten
## [1.1.0] - 2025-01-10
### Added
- Erste Version der neuen API# Klar und beschreibend
feat: add user authentication system
fix: resolve crash when opening large files
docs: update README with new installation steps
# Mit Scope für bessere Organisation
feat(editor): add syntax highlighting for Python
fix(parser): handle edge case with empty scripts
style(ui): improve button spacing and colors# Zu unspezifisch
fix: bug
feat: stuff
docs: update
# Ohne Präfix (wird als "Changed" kategorisiert)
Add new feature
Fix the thing
Update documentationLösung:
# Workflow-Logs überprüfen
# Sicherstellen, dass Commit-Message erkannt wird
# CHANGELOG.md Permissions überprüfenLösung:
# Commit-Message-Präfix überprüfen
# generate_changelog_entry.py lokal testen
python3 generate_changelog_entry.py "1.2.3" "deine-commit-message"Lösung:
# CHANGELOG.md manuell bereinigen
# Workflow-Logik für Duplikat-Erkennung prüfen- 🔗 Automatische Links zu Issues und PRs
- 📊 Contributor-Credits in CHANGELOG
- 🏷️ Scope-basierte Gruppierung (ui, api, docs)
- 📈 Release-Statistiken (Zeilen Code, Tests, etc.)
- 🌐 Mehrsprachige CHANGELOG (DE/EN)
Die CHANGELOG-Automatisierung kann über Umgebungsvariablen angepasst werden:
env:
CHANGELOG_FORMAT: "keepachangelog" # oder "conventional"
CHANGELOG_LANGUAGE: "de" # oder "en"
CHANGELOG_INCLUDE_LINKS: "true" # Links zu Commits/PRs🎉 Mit dieser Automatisierung wird jeder Release professionell dokumentiert!