Upgrading the SDK¶
Treat both SDK changes and OpenAPI changes as integration-contract changes.
The repository pins the source contract at resources/openapi.yaml. EndpointCoverageTests ensures that every HTTP method/path pair in that file has an entry in EndpointCatalog and that the catalog does not contain extra operations.
When the server contract changes:
- Replace the pinned OpenAPI file with the reviewed version.
- Run the coverage test to identify new or removed operations.
- Update request DTOs and response models.
- Add new enum values cautiously. Unknown enum values can break strict enum deserialization and should be treated as a compatibility decision.
- Update service methods and endpoint scopes.
- Add tests for new request/response behavior.
- Regenerate the contract reference documentation.
- Run integration tests against a compatible deployment.
The SDK preserves unknown object properties through JsonExtensionData, but enum additions still require care because enums are intentionally strongly typed.