Stellar SDK Version Contract
Caatinga generates TypeScript bindings via npx @stellar/stellar-sdk generate. This document defines the supported SDK range and advisory boundaries.
Hard Floor
- Minimum:
16.0.1(Protocol 27, ESM-first bindings aligned with Caatinga templates).
Versions below the floor fail with CAATINGA_UNSUPPORTED_SDK_VERSION when checked at generate time or in caatinga doctor.
Advisory Last-Tested Version
- Last-tested:
16.0.1
Versions newer than the last-tested emit a non-fatal advisory. Binding output shape may differ; update fixtures after validation.
Runtime behavior
- Below
16.0.1: fail withCAATINGA_UNSUPPORTED_SDK_VERSION. - Above
16.0.1: stderr advisory +caatinga doctorwarning; command continues. - At
16.0.1: silent.
Compatibility mechanism
@caatinga/core exports evaluateStellarSdkCompatibility({ version, lastTestedVersion? }) and checkStellarSdkVersion({ cwd? }).
Resolution order in checkStellarSdkVersion:
node_modules/@stellar/stellar-sdk/package.jsonin the project cwd.npm view @stellar/stellar-sdk version(whatnpx --yeswould resolve).
Recommended pin
Official templates ship:
json
"@stellar/stellar-sdk": "^16.0.1"Pin explicitly in production projects and CI.
Maintainers: upgrade steps live in Stellar SDK upgrade process.