Upgrade Palantir Foundry SDK versions and handle breaking changes. Use when upgrading foundry-platform-sdk, migrating between API versions, or detecting deprecations in Foundry integrations. Trigger with phrases like "upgrade palantir", "palantir migration", "foundry breaking changes", "update foundry SDK".
Safely upgrade foundry-platform-sdk versions, handle breaking changes, and migrate between Foundry API versions. Includes a step-by-step upgrade checklist and rollback procedure.
foundry-platform-sdk installedset -euo pipefail
pip show foundry-platform-sdk | grep -E "^(Name|Version)"
pip index versions foundry-platform-sdk 2>/dev/null | head -3
# Check OSDK version too
npm list @osdk/client 2>/dev/null || echo "OSDK not installed"
# Check GitHub releases for breaking changes
python -c "
import urllib.request, json
url = 'https://api.github.com/repos/palantir/foundry-platform-python/releases?per_page=5'
releases = json.loads(urllib.request.urlopen(url).read())
for r in releases:
print(f'{r[\"tag_name\"]:12s} {r[\"published_at\"][:10]}')
body = r.get('body', '')[:200]
if 'BREAKING' in body.upper():
print(f' *** BREAKING CHANGES DETECTED ***')
print()
"
set -euo pipefail
git checkout -b upgrade/foundry-sdk-$(date +%Y%m%d)
pip install --upgrade foundry-platform-sdk
pip show foundry-platform-sdk | grep Version
set -euo pipefail
pytest tests/ -v --tb=short 2>&1 | tee upgrade-test-results.txt
# Review failures for breaking changes
grep -E "FAILED|ERROR" upgrade-test-results.txt
Common breaking changes between versions:
# v0.x → v1.x: Client initialization changed
# Before:
client = foundry.FoundryClient(auth=foundry.UserTokenAuth(token="..."))
# After:
client = foundry.FoundryClient(
auth=foundry.UserTokenAuth(hostname="...", token="..."),
hostname="...",
)
# v1.x → v2.x: Ontology methods moved
# Before:
client.ontology.list_objects(...)
# After:
client.ontologies.OntologyObject.list(...)
# Deploy to staging and run smoke tests
FOUNDRY_HOSTNAME=$STAGING_HOSTNAME pytest tests/integration/ -v
# Pin previous version
pip install foundry-platform-sdk==0.8.0
# Or revert the branch
git checkout main -- requirements.txt
pip install -r requirements.txt
| Change Type | Detection | Fix |
|---|---|---|
| Renamed method | AttributeError in tests | Update method calls |
| Changed parameters | TypeError in tests | Update function signatures |
| Removed feature | ImportError | Find replacement in changelog |
| New required param | ApiError: 400 | Add missing parameter |
For CI integration during upgrades, see palantir-ci-integration.