Conventional Commits Configuration for ShiroInk¶
This project follows the Conventional Commits specification.
Commit Message Format¶
Types¶
- feat: A new feature
- fix: A bug fix
- docs: Documentation only changes
- style: Changes that do not affect the meaning of the code (white-space, formatting, etc)
- refactor: A code change that neither fixes a bug nor adds a feature
- perf: A code change that improves performance
- test: Adding missing tests or correcting existing tests
- build: Changes that affect the build system or external dependencies
- ci: Changes to our CI configuration files and scripts
- chore: Other changes that don't modify src or test files
- revert: Reverts a previous commit
- deps: Dependency updates (usually automated by Dependabot)
Examples¶
feat: add support for WebP image format
fix: resolve memory leak in image processing pipeline
docs: update README with new pipeline presets
refactor: simplify error handling logic
perf: optimize image resizing algorithm
ci: add multi-platform Docker builds
Breaking Changes¶
For breaking changes, add ! after the type or add BREAKING CHANGE: in the footer:
feat!: change default resolution to 1920x1080
BREAKING CHANGE: The default resolution has changed from 1404x1872 to 1920x1080.
Users relying on the old default should explicitly set --resolution 1404x1872.
Semantic Versioning¶
Based on commit types, Release Please will automatically:
- MAJOR (x.0.0): Breaking changes (commits with
!orBREAKING CHANGE) - MINOR (0.x.0): New features (
feat:) - PATCH (0.0.x): Bug fixes (
fix:,perf:)
Release Process¶
- Push commits to
mainbranch using conventional commit format - Release Please creates/updates a PR with changelog and version bump
- Review and merge the Release Please PR
- Release Please creates a GitHub release and tag
- Docker build workflow automatically builds and publishes the container