RELEASE_NOTES_WORKFLOW.md
This document describes the complete workflow for generating release notes like ProxySQL v3.0.3.
# 1. Run the orchestration script
python scripts/release-tools/orchestrate_release.py \
--from-tag v3.0.3 \
--to-tag v3.0 \
--output-dir release-data \
--verbose
# 2. Provide the generated files to LLM with this prompt:
cat release-data/llm-prompt-v3.0.md
git fetch --tags
git checkout v3.0 # Ensure you're on the release branch
python scripts/release-tools/orchestrate_release.py \
--from-tag PREVIOUS_TAG \
--to-tag CURRENT_BRANCH_OR_NEW_TAG \
--output-dir release-data
This generates:
release-data/pr-data-*.json - PR details from GitHubrelease-data/pr-summary-*.md - PR summaryrelease-data/structured-notes-*.md - Commit-level datarelease-data/llm-prompt-*.md - Complete LLM promptrelease-data/workflow-summary.md - InstructionsGive the LLM:
release-data/ directoryrelease-data/llm-prompt-*.mdThe LLM should create:
ProxySQL-X.X.X-Release-Notes.md - Main release notesCHANGELOG-X.X.X-detailed.md - Detailed changelogCHANGELOG-X.X.X-commits.md - Complete commit list (optional)backticks around all technical termsSee ProxySQL-3.0.4-Release-Notes.md in the root directory for a complete example of descriptive release notes with backtick formatting.
All scripts are in scripts/release-tools/:
| Script | Purpose |
|---|---|
orchestrate_release.py | Main orchestration script |
collect_pr_data.py | Fetch PR details from GitHub |
generate_structured_notes.py | Create commit-level data |
categorize_commits.py | Categorize commits by type |
generate_release_notes.py | Basic release notes (without LLM) |
generate_changelog.py | Basic changelog generation |
See scripts/release-tools/README.md for detailed documentation.
The release notes for 3.0.4 have already been generated:
ProxySQL-3.0.4-Release-Notes.md - Final release notesProxySQL-3.0.4-Release-Notes-backup.md - Original versionProxySQL-3.0.4-Release-Notes-Descriptive.md - Descriptive versionThese notes follow all requirements: descriptive content, logical grouping, backtick formatting, and proper references.