Use the version bump script to update all version locations at once:
npm run version:bump -- X.Y.ZThis updates:
package.json→"version": "X.Y.Z"src/scriptInfo.json→"version": "X.Y.Z"README.md→ version badge[]
The src/userscript-metadata.cjs reads version from scriptInfo.json at build time — do NOT edit it directly for version changes.
node -p "require('./src/scriptInfo.json').version"Ask yourself: What type of changes did I make?
Small changes, bug fixes, refactoring:
- Bug fixes in existing functionality
- Code refactoring without API changes
- Documentation updates
- Minor UI tweaks (styling, text changes)
- Performance improvements, test updates, linting/formatting changes
New features, enhancements:
- New UI components or pages
- New functionality within existing services
- New configuration options
- Enhanced existing features, new utility functions
- New storage keys, new API endpoints integration
Breaking changes, major additions:
- New financial institution support (new @match domains)
- Major API changes that break compatibility
- Significant architectural changes
- New @grant permissions in userscript
- Breaking configuration changes, major UI overhauls
| Change Description | Version Type | Example |
|---|---|---|
| Fixed a typo in error message | Patch | 3.8.0 → 3.8.1 |
| Added new upload button to existing page | Minor | 3.8.1 → 3.9.0 |
| Added support for new bank (TD Bank) | Major | 3.9.0 → 4.0.0 |
| Refactored state management code | Patch | 4.0.0 → 4.0.1 |
| Added settings modal | Minor | 4.0.1 → 4.1.0 |
This project follows Semantic Versioning:
- MAJOR.MINOR.PATCH (e.g., 3.8.0)
- Major: Breaking changes or new institution support
- Minor: New features, backward compatible
- Patch: Bug fixes, backward compatible
When in doubt, use patch. If multiple change types, use the highest impact.