npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin palantir-packThis skill is limited to using the following tools:
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.
Guides Palantir Foundry migrations: data bulk import/incremental sync from PostgreSQL using Python/pandas, API version upgrades via Strangler Fig pattern.
Upgrades Gamma SDK (@gamma/sdk npm, gamma-sdk pip) and migrates code for API breaking changes like client init, responses, errors. Checks versions, changelog, tests.
Guides framework and language migrations: version upgrades, breaking changes, dependency audits, codemods, rollbacks for React 19, Vue 3, Next.js, Laravel 11, Python 3.12, Node 22.
Share bugs, ideas, or general feedback.
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.