Analyze spring-data-relational version changes and identify required updates for the current project. Use when upgrading spring-data-relational versions or syncing with upstream changes.
Content & Writing
291 Stars
34 Forks
Updated Dec 22, 2025, 01:26 AM
Why Use This
This skill provides specialized capabilities for naver's codebase.
Use Cases
Developing new features in the naver repository
Refactoring existing code to follow naver standards
Understanding and working with naver's codebase structure
---
name: sync-data-relational
description: Analyze spring-data-relational version changes and identify required updates for the current project. Use when upgrading spring-data-relational versions or syncing with upstream changes.
allowed-tools: [WebFetch, Grep, Read, Glob, Bash, TodoWrite]
---
# Sync Spring Data Relational Changes
This skill helps synchronize spring-data-relational version updates to the spring-jdbc-plus project.
## When to Use
- When a new spring-data-relational version is released
- When asked to "sync data-relational changes"
- When asked to "update to spring-data-relational X.X.X"
- When analyzing what needs to be updated for a version upgrade
## What This Skill Does
1. **Fetches Version Diff**: Retrieves changes between two spring-data-relational versions from GitHub
2. **Analyzes Changes**: Categorizes changes into:
- API changes (new methods, deprecated methods, signature changes)
- Dependency upgrades
- Bug fixes
- Documentation updates
3. **Identifies Impact**: Searches the current codebase for affected code
4. **Provides Action Items**: Lists specific files and changes needed
## Instructions
### Step 1: Determine Versions
1. Check `gradle.properties` to find current `springDataBomVersion`
2. Determine the spring-data-relational version from the BOM version
- Spring Data BOM 2025.0.5 → spring-data-relational 3.5.5
- Spring Data BOM 2025.0.6 → spring-data-relational 3.5.6
3. Ask user for target version if not specified
### Step 2: Fetch Changes from GitHub
Use WebFetch to get the comparison from:
`https://github.com/spring-projects/spring-data-relational/compare/{old-version}...{new-version}`
Example: `https://github.com/spring-projects/spring-data-relational/compare/3.5.5...3.5.6`
### Step 3: Analyze Changes
Categorize the changes:
**Critical Changes** (High Priority):
- API deprecations
- Breaking changes
- Signature changes in methods we override/use
**Important Changes** (Medium Priority):
- New features we might want to adopt
- Bug fixes that affect our code
- Dependency upgrades
**Informational** (Low Priority):
- Documentation updates
- Internal refactoring
- Minor bug fixes
### Step 4: Search Current Codebase
For each critical/important change, search the codebase:
1. Use Grep to find usages of:
- Deprecated classes/methods
- Changed API signatures
- Affected dependencies
2. Focus on these directories:
- `spring-data-jdbc-plus-support/`
- `spring-data-jdbc-plus-sql/`
- `spring-data-jdbc-plus-repository/`
- `spring-boot-autoconfigure-data-jdbc-plus/`
### Step 5: Generate Report
Create a structured report with:
```markdown
## Spring Data Relational {old} → {new} Upgrade Analysis
### Summary
- Total commits: X
- Files changed: Y
- Critical changes: Z
### Critical Changes Requiring Action
#### 1. [Change Category - e.g., API Deprecation]
**Upstream Change**: Description of what changed in spring-data-relational
**Impact**: Files in our codebase that are affected
**Action Required**: What needs to be done
[List specific files with line numbers if found]
### Important Changes to Review
[Same format as above]
### Dependency Updates
[List dependency version changes]
### Low Priority / Informational
[Brief list of other changes]
### Next Steps
1. [ ] Review critical changes
2. [ ] Update affected code
3. [ ] Update gradle.properties if needed
4. [ ] Run tests
5. [ ] Update documentation
```
### Step 6: Provide Actionable Next Steps
- Create TODO items for each required change
- Suggest specific code modifications
- Highlight test cases that should be added/updated
## Examples
**User**: "Sync data-relational changes from 3.5.5 to 3.5.6"
**Skill**:
1. Fetches https://github.com/spring-projects/spring-data-relational/compare/3.5.5...3.5.6
2. Identifies: API deprecations, dependency upgrades
3. Searches codebase for affected code
4. Generates report with action items
**User**: "What needs to be updated for spring-data-relational 3.5.6?"
**Skill**:
1. Checks current version in gradle.properties
2. Compares with 3.5.6
3. Provides analysis and action items
## Important Notes
- Always use TodoWrite to track the analysis tasks
- Focus on changes that affect the core modules (support, sql, repository)
- Consider backward compatibility when suggesting changes
- Highlight security-related changes with high priority
- Note any changes to transitive dependencies that might affect our users
## Related Files
- `gradle.properties` - Contains springDataBomVersion
- `buildSrc/src/main/groovy/spring.jdbc.plus.spring-bom-conventions.gradle` - BOM configuration
- `spring-data-jdbc-plus-support/` - Core support module
- `spring-data-jdbc-plus-sql/` - SQL module
- `spring-data-jdbc-plus-repository/` - Repository module