This guide describes how to create a new release of document-reader-mcp.
- Update version in
server/__version__.py - Update version in
setup.py - Update version in
README.md(bottom section) - Add entry to
CHANGELOG.mdwith release date
- Ensure README.md is up to date
- Verify all examples work
- Check that installation instructions are accurate
- Review CONTRIBUTING.md for accuracy
- Run syntax checks:
python -m py_compile server/*.py - Test server imports:
python -c "from server.main import server" - Verify all dependencies in
requirements.txtare necessary - Check for security vulnerabilities in dependencies
- Test with sample PDF files
- Test with Excel files
- Test with CSV files
- Test with Word documents
- Test with text, JSON, and Markdown files
- Test rate limiting functionality
- Test streaming for large files
- Test error handling (invalid files, missing files, etc.)
- Test in Cursor or Claude Desktop
# Ensure you're on main branch
git checkout main
git pull origin main
# Verify clean working directory
git statusEdit the following files with the new version number:
server/__version__.pysetup.pyREADME.md
Update CHANGELOG.md with:
- Release date
- Summary of changes
- Links to issues/PRs
git add server/__version__.py setup.py README.md CHANGELOG.md
git commit -m "chore: bump version to X.Y.Z"
git push origin main# Create annotated tag
git tag -a vX.Y.Z -m "Release version X.Y.Z"
# Push tag to GitHub
git push origin vX.Y.Z- Go to https://github.com/ifmelate/document-reader-mcp/releases/new
- Select the tag you just created (vX.Y.Z)
- Set release title: "v X.Y.Z"
- Copy relevant section from CHANGELOG.md to release notes
- Attach any additional assets if needed
- Click "Publish release"
- GitHub release is published
- Tag is visible in repository
- Installation via pip works:
pip install git+https://github.com/ifmelate/document-reader-mcp.git@vX.Y.Z - Documentation links work correctly
- Consider posting in relevant communities (if applicable)
- Update any external documentation or listings
- Watch for issues on GitHub
- Monitor installation feedback
- Check for dependency updates
For critical bugs requiring immediate release:
-
Create hotfix branch from main:
git checkout -b hotfix/vX.Y.Z+1
-
Fix the issue and test thoroughly
-
Update version (increment patch number)
-
Follow normal release process
We follow Semantic Versioning:
- MAJOR (X.0.0): Breaking changes
- MINOR (x.Y.0): New features, backwards compatible
- PATCH (x.y.Z): Bug fixes, backwards compatible
- Latest stable version receives all updates
- Previous minor version may receive critical security patches
- Older versions are not actively supported
Open an issue on GitHub for release-related questions.