Setting the file. One moment.
Subchapter 157.23
troubleshooting/migration.mdMarkdown3 KBView on GitHub
Notes on upgrading @zoom/appssdk versions and handling deprecations.
Recommended: @zoom/appssdk v0.16.26+ (latest stable)
{
"dependencies": {
"@zoom/appssdk": "^0.16.26"
}
}| Strategy | package.json | Risk | Use When |
|---|---|---|---|
| Exact | "0.16.26" | Lowest | Production apps, critical stability |
| Patch | "~0.16.26" | Low | Most apps |
| Minor | "^0.16.26" | Medium | Active development |
Not all APIs are available in all Zoom client versions. Always check:
const { supportedApis } = await zoomSdk.getSupportedJsApis();
// Check before using an API
if (supportedApis.includes('authorize')) {
// Safe to use In-Client OAuth
await zoomSdk.authorize({...});
} else {
// Fall back to web redirect OAuth
window.location.href = '/install';
}Also check unsupportedApis after config():
const config = await zoomSdk.config({
capabilities: ['authorize', 'getMeetingContext', 'newFeature'],
version: '0.16'
});
if (config.unsupportedApis.includes('newFeature')) {
console.log('newFeature not available in this client version');
// Graceful degradation
}The version parameter in config() indicates which SDK API version you expect:
await zoomSdk.config({
capabilities: [...],
version: '0.16' // API version, not NPM package version
});This helps Zoom maintain backward compatibility. Use the latest supported version.
Status of official sample repositories:
| Repository | SDK Version | Status | Notes |
|---|---|---|---|
| zoomapps-sample-js | ^0.16.26 | Current | Best reference |
| zoomapps-advancedsample-react | 0.16.0 | Outdated | Works but update recommended |
| zoomapps-customlayout-js | ^0.16.8 | Outdated | Layers API may differ |
| zoomapps-texteditor-vuejs | ^0.16.7 | Outdated | Y.js pattern still valid |
| zoomapps-serverless-vuejs | ^0.16.21 | Slightly outdated | Firebase pattern still valid |
Zoom typically deprecates APIs gradually:
unsupportedApis starts returning it in newer clientsBest practice: Check getSupportedJsApis() at startup and implement fallbacks.
When upgrading SDK version:
@zoom/appssdk in package.jsonnpm installgetSupportedJsApis() includes your APIsversion parameter in config() if needed