Trados Cloud Platform SDK - Migration Guide v25.x.x
Executive Summary
The Trados Cloud Platform API SDK has transitioned from a "fat JAR" to a "light JAR" architecture, delivering faster downloads, improved dependency management, and better build performance. For most users, migration requires only a version update in your build configuration.
What Changed:
- Modernized Dependencies: JUnit 4 → 5, Apache HttpClient 4 → 5, Commons Lang 2→3
- OpenAPI Generator: Version 6.5.0 → 7.14.0 with enhanced nullability annotations
- Enhanced Features: New
LCContext.executeInScope()methods for improved tenant/trace context management - Updated Tooling: Latest versions of Jackson, Feign, and other core libraries
Step-by-Step Migration Guide
For Standard API Usage (Most Users):
If you're using the generated SDK classes like ProjectApi, SourceFileApi, etc., migration is straightforward:
- Update SDK version to 25.x.x in your build configuration.
- Run your build command to verify everything works.
- Review and update your code for compatibility with the new OpenAPI Generator output (see the section OpenAPI Generator & Generated Code Changes below for details).
- Your API calls should work as before, but review and resolve any compilation issues related to the above changes.
// Your existing code continues to work
ProjectApi projectApi = languageCloudClientProvider.getProjectClient();
Project project = projectApi.createProject(projectCreateRequest, queryParams);
Troubleshooting
Most Common Issue: Build fails after version update
Solution: Run mvn dependency:tree to check for dependency conflicts
Issue: ClassNotFoundException: feign.Client
Solution: Verify Feign dependencies: mvn dependency:tree | grep feign
Issue: NoClassDefFoundError for HTTP client classes
Solution: Update imports from org.apache.http to org.apache.hc.core5.http
Issue: Commons Lang methods not found
Solution: Update imports from org.apache.commons.lang to org.apache.commons.lang3
Success Validation
For Standard Users:
- Clean build:
mvn clean installsucceeds - API functionality works as before
- Faster builds and smaller downloads
For Advanced Users:
- Run
mvn dependency:tree- no conflicts shown - Test application startup and core functionality
Advanced Scenarios
Click here if you use direct dependency imports or custom configurations
Direct Dependency Usage:
- Update HttpClient imports:
org.apache.http→org.apache.hc.core5.http - Update Commons Lang imports:
org.apache.commons.lang→org.apache.commons.lang3 - Use dependency exclusions if you encounter version conflicts
Custom Classpath Management:
- Review current JAR collection and identify SDK dependencies
- Ensure all transitive dependencies are included in classpath
- Test application startup and core functionality
- Consider migrating to Maven/Gradle for simplified dependency management
Test Framework Updates:
- JUnit Migration: JUnit 4 → JUnit 5 (Jupiter)
- Update test annotations:
@Testimports change fromorg.junit.Test→org.junit.jupiter.api.Test - Replace
@Before/@Afterwith@BeforeEach/@AfterEach - Update assertion imports:
org.junit.Assert→org.junit.jupiter.api.Assertions
- Update test annotations:
- Mockito Updates: Version 3.x → 5.x
- Update imports if using
mockito-junit-jupiterdirectly - Verify mock behavior with newer Mockito features
- Update imports if using
OpenAPI Generator & Generated Code Changes:
- OpenAPI Generator: Version 6.5.0 → 7.14.0 (major version upgrade)
- Generated Code Improvements: Enhanced code generation with:
- New Nullability Annotations:
@javax.annotation.Nullableand@javax.annotation.Nonnullannotations for better null safety - Bean Validation Support: Enhanced validation annotations for API parameters
- Improved Code Quality: Updated Mustache templates producing cleaner, more maintainable generated code
- Better Method Naming: Collection helper methods use improved naming conventions for better readability
- Enhanced Enum Handling: Improved enum comparison and naming with configurable case sensitivity support
- Modernized Templates: Generated classes follow current Java best practices
- New Nullability Annotations:
Benefits:
- Generated classes are easier to use and understand
- Better IDE support with improved nullability annotations
- More consistent naming conventions across generated code
- Enhanced type safety and validation
Validation & Success Criteria
For Standard Users:
- Clean Build: Your project builds successfully
- API Functionality: SDK operations work as before - no code changes needed
- Performance: Faster builds and smaller downloads
Advanced Validation:
- Dependency Check:
mvn dependency:treeshows no conflicts - Custom Configurations: Test application startup and functionality
Reference: Key Dependencies
High-Impact Dependencies (Most Likely to Affect You)
| Library | Previous | New | Notes |
|---|---|---|---|
| Feign (HTTP Client) | 10.11 | 13.6 | Core SDK communication |
| Jackson (JSON) | 2.10.3 | 2.19.1 | API serialization |
| Apache HttpClient | 4.5.8 | 5.5 | HTTP transport |
| JUnit (Tests) | 4.13 | 5.13.2 | Test framework modernization |
View Complete Dependency List
All Updated Dependencies:
| GroupId | ArtifactId | Previous Version | New Version | Impact |
|---|---|---|---|---|
| io.github.openfeign | feign-core | 10.11 | 13.6 | High |
| io.github.openfeign | feign-jackson | 10.11 | 13.6 | High |
| io.github.openfeign | feign-slf4j | 10.11 | 13.6 | High |
| io.github.openfeign | feign-form | 3.8.0 | 13.6 | High |
| io.github.openfeign | feign-okhttp | 10.11 | 13.6 | High |
| com.fasterxml.jackson.core | jackson-core | 2.10.3 | 2.19.1 | Medium |
| com.fasterxml.jackson.core | jackson-annotations | 2.10.3 | 2.19.1 | Medium |
| com.fasterxml.jackson.core | jackson-databind | 2.10.3 | 2.19.1 | Medium |
| org.apache.httpcomponents.client5 | httpclient5 | 4.5.8* | 5.5 | Medium |
| com.fasterxml.jackson.datatype | jackson-datatype-jsr310 | 2.10.3 | 2.19.1 | Low |
| com.fasterxml.jackson.datatype | jackson-datatype-joda | 2.0.4 | 2.19.1 | Low |
| org.openapitools | jackson-databind-nullable | 0.2.1 | 0.2.6 | Low |
| org.apache.commons | commons-lang3 | 2.6* | 3.18.0 | Low |
| com.github.spotbugs | spotbugs-annotations | 3.0.2* | 4.9.3 | Low |
| javax.annotation | javax.annotation-api | 1.0* | 1.3.2 | Low |
| org.projectlombok | lombok | RELEASE | 1.18.38 | Low |
| org.slf4j | slf4j-simple | - | 2.0.13 | Low |
*Different groupId or artifactId in previous version
Test Dependencies
| GroupId | ArtifactId | Previous Version | New Version | Impact |
|---|---|---|---|---|
| org.junit.jupiter | junit-jupiter-engine | 4.13* | 5.13.2 | High |
| org.mockito | mockito-junit-jupiter | 3.12.1* | 5.18.0 | High |
*Different groupId or artifactId in previous version
Most Important Changes
Critical: Maven Shade Plugin removed (enables fat→light JAR transition)
Modernization: All dependencies updated to current versions
Code Quality: OpenAPI Generator 6.5.0 → 7.14.0 with better nullability support