11# 📦 Releasing a New Version of rsazure-openai-toolkit
22
33This guide describes the exact steps to create a new release and publish it to PyPI, including tagging and changelog updates.
4-
5- ---
4+ ___
65
76## ✅ 1. Finalize Implementation
87- Finish all coding, testing, and documentation
98- Ensure the project runs correctly via CLI and as a library
10-
11- ---
9+ ___
1210
1311## 📝 2. Update Version Metadata
1412
@@ -20,17 +18,15 @@ version = "<new_version>"
2018
2119[project .scripts ]
2220rschat = " rsazure_openai_toolkit.cli:cli"
23- rschat-tools = " rsazure_openai_toolkit.tools_cli:main"
24-
25- [dependencies ]
26- Jinja2>=3.1.2
21+ rschat-tools = " rsazure_openai_toolkit.cli.tools:main"
2722```
2823
2924Also review and update (if needed):
3025- ` keywords = [...] `
3126- ` classifiers = [...] `
3227
3328* When adding new non-code files (e.g. templates, env files), remember to configure [ tool.setuptools.package-data] .*
29+ ___
3430
3531### CHANGELOG.md
3632At the top, add a new entry with this structure:
@@ -40,59 +36,89 @@ At the top, add a new entry with this structure:
4036### Added
4137- List new features
4238### Changed
43- - Bumped version to <new_version>
39+ - List improvements and changes
40+ ### Fixed
41+ - List bug fixes (if any)
4442```
43+ ___
4544
4645### README.md
4746- Ensure any new commands or examples are included (e.g. ` rschat-tools samples ` )
4847- Confirm version badges reflect the latest release
49-
50- ---
48+ ___
5149
5250## 🔀 3. Commit & Push Changes
5351``` bash
5452git add .
5553git commit -m " Release v<new_version>: <summary>"
5654git push origin main
5755```
58-
59- ---
56+ ___
6057
6158## 🏷️ 4. Create and Push Git Tag
6259``` bash
6360git tag v< new_version>
6461git push origin v< new_version>
6562```
6663> This is necessary for GitHub tag-based badges to reflect the correct version.
67-
68- ---
64+ ___
6965
7066## 📦 5. Build Distributable Packages
7167``` bash
7268find . -type d -name " __pycache__" -exec rm -r {} +
7369rm -rf dist/
7470python -m build
7571```
76-
77- ---
72+ ___
7873
7974## 🚀 6. Upload to PyPI
8075``` bash
8176twine upload dist/*
8277```
8378> Use ` __token__ ` as your username if authenticating with a PyPI token.
84-
85- ---
79+ ___
8680
8781## 🏁 7. Create GitHub Release
88- - Go to: https://github.com/renan-siqueira/rsazure-openai-toolkit/releases
89- - Click "Draft a new release"
90- - Select tag: ` v<new_version> `
91- - Title: ` v<new_version> - <summary> `
92- - Description: copy from ` CHANGELOG.md `
93- - Publish
9482
95- ---
83+ Use the following format to publish your release:
84+
85+ ### 📌 Title:
86+ ```
87+ v<new_version> — <summary title>
88+ ```
89+
90+ ### 📝 Description:
91+
92+ ``` md
93+ ## Highlights
94+ <emoji> <Brief description of major additions or fixes>
95+
96+ - ✅ List of visible or user-facing enhancements
97+ - 🔐 Notes on security, reliability, or architecture changes (if any)
98+ ___
99+
100+ ## What's Changed
101+
102+ ### ✅ Added (if applicable)
103+ - Describe new features or modules
104+
105+ ### 🔧 Changed (if applicable)
106+ - List refactors or improvements
107+
108+ ### 🐛 Fixed (if applicable)
109+ - Mention any bugs resolved
110+
111+ (... Others sections if applicable)
112+
113+ ### 📌 Notes
114+ - No breaking changes (if applicable)
115+ - No new dependencies (if applicable)
116+ - Safe to upgrade (if applicable)
117+ ___
118+
119+ > 🔎 See the [Changelog](https://github.com/renan-siqueira/rsazure-openai-toolkit/blob/main/CHANGELOG.md) for full details.
120+ ```
121+ ___
96122
97123## ✅ 8. Final Checks
98124- Confirm PyPI is showing the latest version: https://pypi.org/project/rsazure-openai-toolkit/
@@ -103,6 +129,6 @@ rschat "What can you do?"
103129rschat-tools samples
104130```
105131
106- ---
132+ ___
107133
108- You're done! 🎉
134+ You're done! 🎉
0 commit comments