# Version Synchronization and Changelog Management > **Agent role**: Reference this file for version synchronization > requirements and changelog management. ## Version Sync Checklist (Before Commit) - [ ] `package.json` version matches latest `CHANGELOG.md` entry - [ ] New version follows semantic versioning (MAJOR.MINOR.PATCH[-PRERELEASE]) - [ ] Changelog entry includes all significant changes since last version - [ ] Version bump commit message follows `build(version): bump to X.Y.Z` format - [ ] Breaking changes properly documented with migration notes - [ ] Alert developer in chat message that version has been updated ## Version Change Detection - **Check for version changes** in staged/unstaged `package.json` - **Alert developer** if version changed but changelog not updated - **Suggest changelog update** with proper format and content - **Validate semantic versioning** compliance ## Implementation Notes ### Version Detection - Compare `package.json` version field with latest changelog entry - Use semantic versioning validation - Check for pre-release version consistency ### Semantic Validation - Ensure version follows `X.Y.Z[-PRERELEASE]` format - Validate major.minor.patch components - Handle pre-release suffixes (beta, alpha, rc) ### Changelog Format - Follow [Keep a Changelog](https://keepachangelog.com/) standards - Use consistent section headers - Include breaking change notes - Maintain chronological order ### Breaking Changes - Use `!` in commit message - Include `BREAKING CHANGE:` in changelog - Provide migration notes - Document impact clearly ### Pre-release Versions - Include beta/alpha/rc suffixes consistently - Update both `package.json` and changelog - Maintain version number alignment - Document pre-release status ## Changelog Sections ### Added - New features - New capabilities - New dependencies ### Changed - Changes in existing functionality - API changes - Performance improvements ### Deprecated - Soon-to-be removed features - Migration paths - Sunset timelines ### Removed - Removed features - Breaking changes - Deprecated items ### Fixed - Bug fixes - Security patches - Performance fixes ### Security - Security vulnerabilities - CVE references - Mitigation steps ## Version Bump Guidelines ### Patch (X.Y.Z+1) - Bug fixes - Documentation updates - Minor improvements ### Minor (X.Y+1.Z) - New features - Backward-compatible changes - Significant improvements ### Major (X+1.Y.Z) - Breaking changes - Major API changes - Incompatible changes ## Pre-release Guidelines ### Beta Versions - Feature complete - Testing phase - API stable ### Alpha Versions - Early development - API may change - Limited testing ### Release Candidates - Final testing - API frozen - Production ready --- **See also**: - `.cursor/rules/workflow/version_control.mdc` for core version control principles - `.cursor/rules/workflow/commit_messages.mdc` for commit message format **Status**: Active version synchronization guide **Priority**: High **Estimated Effort**: Ongoing reference **Dependencies**: version_control.mdc **Stakeholders**: Development team, Release team ## Model Implementation Checklist ### Before Version Changes - [ ] **Version Review**: Check current version in `package.json` and `CHANGELOG.md` - [ ] **Change Assessment**: Identify what type of version bump is needed (patch/minor/major) - [ ] **Breaking Changes**: Review if any changes are breaking and require major version - [ ] **Pre-release Status**: Determine if this should be a pre-release version ### During Version Synchronization - [ ] **Semantic Validation**: Ensure version follows `X.Y.Z[-PRERELEASE]` format - [ ] **Package Update**: Update `package.json` version field - [ ] **Changelog Entry**: Add entry to `CHANGELOG.md` following Keep a Changelog format - [ ] **Breaking Changes**: Document breaking changes with migration notes if applicable ### After Version Changes - [ ] **Commit Format**: Use `build(version): bump to X.Y.Z` commit message format - [ ] **Developer Alert**: Alert developer that version has been updated - [ ] **Validation**: Verify `package.json` and `CHANGELOG.md` are in sync - [ ] **Pre-release Handling**: Ensure pre-release versions are consistently formatted