Consistent and well-formatted commit messages provide a better project history, make it easier to understand changes, facilitate automatic changelog generation, and help identify bugs. These guidelines ensure that our commit messages remain uniform, descriptive, and useful to all project contributors.
type: <brief summary (max 50 chars)>
- [type] key change 1 (max 60 chars per line)
- [type] key change 2
- [type] key change N (include all significant changes)
- Use the imperative mood in the subject line (e.g., "Add feature" not "Added feature")
- Don't end the subject line with a period
- Start with a capital letter
- Separate subject from body with a blank line
- Wrap body text at 72 characters
- Use the body to explain what and why vs. how
Each commit should represent a single logical change:
- Make focused commits that address a single concern
- Split work into multiple commits when appropriate
- Avoid mixing unrelated changes in the same commit
Link to issues in your commit messages:
- Use "Fixes #123" to automatically close an issue
- Use "Relates to #123" for changes related to but not resolving an issue
- Always include issue numbers for bug fixes
Choose the most specific type for your changes:
feat: New user features (not for new files without user features)fix: Bug fixes/corrections to errorsrefactor: Restructured code (no behavior change)style: Formatting/whitespace changesdocs: Documentation onlytest: Test-related changesperf: Performance improvementsbuild: Build system changesci: CI pipeline changeschore: Routine maintenance tasksrevert: Reverting previous changesadd: New files/resources with no user-facing featuresremove: Removing files/codeupdate: Changes to existing functionalitysecurity: Security-related changesi18n: Internationalizationa11y: Accessibility improvementsapi: API-related changesui: User interface changesdata: Database changesconfig: Configuration changesinit: Initial commit/project setup
fix: Address memory leak in data processing pipeline
- [fix] Release resources in DataProcessor.cleanUp()
- [fix] Add null checks to prevent NPE in edge cases
- [perf] Optimize large dataset handling
Fixes #456
feat: Add user profile export functionality
- [feat] Create export button in profile settings
- [feat] Implement JSON and CSV export options
- [security] Apply rate limiting to prevent abuse
Relates to #789
refactor: Simplify authentication flow
- [refactor] Extract login logic to separate service
- [refactor] Reduce complexity in AuthManager
- [test] Add unit tests for new service
Part of #234
Made some changes to fix stuff
Changed a bunch of files to make the login work better.
Also fixed that other bug people were complaining about.