# Common Version Bump Scenarios Real-world examples of version bumps with decision rationale. ## Scenario 1: Bug Fix After Testing **User request:** > "Fixed the memory leak in the search function" **Analysis:** - What changed: Bug fix - Breaking changes: No - New features: No - **Decision: PATCH** **Workflow:** ``` Current: 4.2.8 New: 4.2.9 (PATCH) Steps: 1. Update all three files to 4.2.9 2. npm run build 3. git commit -m "Release v4.2.9: Fixed memory leak in search" 4. git tag v4.2.9 -m "Release v4.2.9: Fixed memory leak in search" 5. git push && git push --tags 6. gh release create v4.2.9 --title "v4.2.9" --notes "Fixed memory leak in search function" ``` ## Scenario 2: New Feature Added **User request:** > "Added web search MCP integration" **Analysis:** - What changed: New feature (MCP integration) - Breaking changes: No - Backward compatible: Yes - **Decision: MINOR** **Workflow:** ``` Current: 4.2.8 New: 4.3.0 (MINOR - reset patch to 0) Steps: 1. Update all three files to 4.3.0 2. npm run build 3. git commit -m "Release v4.3.0: Added web search MCP integration" 4. git tag v4.3.0 -m "Release v4.3.0: Added web search MCP integration" 5. git push && git push --tags 6. gh release create v4.3.0 --title "v4.3.0" --generate-notes ``` ## Scenario 3: Database Schema Redesign **User request:** > "Rewrote storage layer, old data needs migration" **Analysis:** - What changed: Storage layer rewrite - Breaking changes: Yes (requires migration) - Backward compatible: No - **Decision: MAJOR** **Workflow:** ``` Current: 4.2.8 New: 5.0.0 (MAJOR - reset minor and patch to 0) Steps: 1. Update all three files to 5.0.0 2. npm run build 3. git commit -m "Release v5.0.0: Storage layer redesign with migration required" 4. git tag v5.0.0 -m "Release v5.0.0: Storage layer redesign" 5. git push && git push --tags 6. gh release create v5.0.0 --title "v5.0.0" --notes "⚠️ Breaking change: Storage layer redesigned. Migration required." ``` ## Scenario 4: Multiple Small Bug Fixes **User request:** > "Fixed three bugs: observer crash, viewer pagination, and date formatting" **Analysis:** - What changed: Multiple bug fixes - Breaking changes: No - New features: No - **Decision: PATCH** (one patch covers all fixes) **Workflow:** ``` Current: 4.2.8 New: 4.2.9 (PATCH) Steps: 1. Update all three files to 4.2.9 2. npm run build 3. git commit -m "Release v4.2.9: Multiple bug fixes - Fixed observer crash on empty content - Fixed viewer pagination edge case - Fixed date formatting in timeline" 4. git tag v4.2.9 -m "Release v4.2.9: Multiple bug fixes" 5. git push && git push --tags 6. gh release create v4.2.9 --title "v4.2.9" --generate-notes ``` ## Scenario 5: Feature + Bug Fix **User request:** > "Added dark mode support and fixed the viewer crash bug" **Analysis:** - What changed: New feature + bug fix - Breaking changes: No - **Decision: MINOR** (feature trumps bug fix) **Workflow:** ``` Current: 5.1.0 New: 5.2.0 (MINOR) Steps: 1. Update all three files to 5.2.0 2. npm run build 3. git commit -m "Release v5.2.0: Dark mode support + bug fixes Features: - Added dark mode toggle to viewer UI Bug fixes: - Fixed viewer crash on empty database" 4. git tag v5.2.0 -m "Release v5.2.0: Dark mode support" 5. git push && git push --tags 6. gh release create v5.2.0 --title "v5.2.0" --generate-notes ``` ## Scenario 6: Documentation Only **User request:** > "Updated README with new installation instructions" **Analysis:** - What changed: Documentation only - Breaking changes: No - Code changes: No - **Decision: PATCH** (or skip version bump if no code changes) **Workflow:** ``` Option 1: PATCH (if you want to tag doc improvements) Current: 4.2.8 New: 4.2.9 Option 2: No version bump (documentation-only changes don't require versioning) Just commit without bumping version ``` **Recommendation:** Skip version bump for documentation-only changes unless it's a significant documentation overhaul. ## Scenario 7: Configuration Change **User request:** > "Changed default observation count from 50 to 30" **Analysis:** - What changed: Default configuration - Breaking changes: Yes (behavior changes) - Users might notice different context size - **Decision: MINOR or MAJOR** (ask user) **Workflow:** ``` Ask user: "This changes default behavior (context size). Users will see different results. Is this: - MINOR (acceptable behavior change): 4.2.8 → 4.3.0 - MAJOR (breaking change): 4.2.8 → 5.0.0 Which should I use?" ``` ## Scenario 8: Dependency Update **User request:** > "Updated Claude SDK from 1.2.0 to 1.3.0" **Analysis:** - What changed: Dependency version - Breaking changes: Depends on SDK changes - **Decision: Ask user or check SDK changelog** **Workflow:** ``` 1. Check SDK changelog for breaking changes 2. If SDK has breaking changes → MAJOR 3. If SDK adds features → MINOR 4. If SDK only fixes bugs → PATCH Typical: PATCH (unless SDK breaks compatibility) ``` ## Decision Tree ``` Is there a breaking change? ├─ Yes → MAJOR (X.0.0) └─ No ├─ Is there a new feature? │ ├─ Yes → MINOR (x.Y.0) │ └─ No │ ├─ Is there a bug fix? │ │ ├─ Yes → PATCH (x.y.Z) │ │ └─ No → Don't bump version (docs only, etc.) │ └─ Configuration change? → Ask user (MINOR or MAJOR) └─ Multiple changes? → Use highest level (MAJOR > MINOR > PATCH) ```