Release Management
MIU uses Release-Please for automated versioning, changelog generation, and release management.How It Works
1
Commit with Conventional Format
2
Release-Please Creates PR
Analyzes commits, updates versions, generates CHANGELOG
3
Review & Merge
Verify changelog and version bumps, then merge
4
Automatic Release
GitHub creates release, triggers PyPI publication
Commit Types
| Type | Section | Version Bump |
|---|---|---|
feat | Features | Minor |
fix | Bug Fixes | Patch |
perf | Performance | Patch |
refactor | Refactoring | Patch (hidden) |
docs | Documentation | None |
chore | Miscellaneous | None |
Commit Format
- Feature
- Bug Fix
- Breaking Change
Configuration Files
Manifest
.release-please-manifest.json - Version source of truth:
Config
release-please-config.json - Main configuration:
| Setting | Value | Purpose |
|---|---|---|
release-type | python | Semver + pyproject.toml |
separate-pull-requests | true | One PR per package |
include-component-in-tag | true | Tag: miu-core-v0.1.0 |
Version Strategy
Semantic Versioning (SemVer):0.1.0→0.1.1(patch fix)0.1.1→0.2.0(new feature)0.2.0→1.0.0(breaking change)
Tag Format
CHANGELOG Generation
Each package maintains its ownCHANGELOG.md:
Before Committing
Troubleshooting
Release PR Not Created
Release PR Not Created
Cause: No commits with conventional format since last releaseSolution: Ensure commits use
feat:, fix:, etc.Wrong Version Bumped
Wrong Version Bumped
Cause: Commit type doesn’t match intended changeSolution: Use correct type -
feat: for minor, fix: for patchCHANGELOG Has Wrong Content
CHANGELOG Has Wrong Content
Cause: Release-Please scans commit messagesSolution: Ensure conventional commits before release PR creation