TypeScript SDK Breaking Changes
Version 0.0.30 introduces breaking changes for the TypeScript SDK. Older versions continue to work but don’t support OAuth.
Client Class Name Change
The client is now called Fathom
instead of FathomApi
.
Old Syntax
import { FathomApi } from 'fathom-typescript';
const fathom = new FathomApi("apikey");
New Syntax
import { Fathom } from 'fathom-typescript';
const fathom = new Fathom({security: {apiKeyAuth: "apikey"}});
API Key Authentication Syntax
The API key authentication syntax has changed to support the new security model.
Old Syntax
import { FathomApi } from 'fathom-typescript';
const fathom = new FathomApi("your_api_key");
New Syntax
import { Fathom } from 'fathom-typescript';
const fathom = new Fathom({
security: {
apiKeyAuth: "your_api_key"
}
});
OAuth Support
Version 0.0.30 adds OAuth support, which requires the new client structure:
import { Fathom } from 'fathom-typescript';
// OAuth authorization URL generation
const url = Fathom.getAuthorizationUrl({
clientId: 'YOUR_CLIENT_ID',
clientSecret: 'YOUR_CLIENT_SECRET',
redirectUri: 'https://your_redirect_url',
scope: 'public_api',
state: 'randomState123',
});
// OAuth client initialization
const tokenStore = Fathom.newTokenStore();
const fathom = new Fathom({
security: Fathom.withAuthorization({
clientId: "YOUR_CLIENT_ID",
clientSecret: "YOUR_CLIENT_SECRET",
code: "AUTHORIZATION_CODE_FROM_CALLBACK",
redirectUri: "https://your_redirect_url",
tokenStore: tokenStore
}),
});
Migration Guide
To migrate from an older version to 0.0.30:
-
Update imports:
// Old
import { FathomApi } from 'fathom-typescript';
// New
import { Fathom } from 'fathom-typescript';
-
Update client initialization:
// Old
const fathom = new FathomApi("your_api_key");
// New
const fathom = new Fathom({
security: {
apiKeyAuth: "your_api_key"
}
});
-
Update method calls (if any method signatures changed):
// Method calls remain the same
const result = await fathom.listMeetings({});
Backward Compatibility
Older versions of the SDK continue to work with API key authentication, but they don’t support OAuth features.
If you need to maintain compatibility with older code while adding OAuth support, you can:
- Pin to the old version for existing applications
- Create a new integration using version 0.0.30 for OAuth features
- Gradually migrate existing code to the new syntax
Version Pinning
We recommend pinning to a specific version to avoid unexpected breaking changes:
{
"dependencies": {
"fathom-typescript": "0.0.30"
}
}
What’s New in 0.0.30
- ✅ OAuth 2.0 support
- ✅ Improved security model
- ✅ Better TypeScript types
- ✅ Enhanced error handling
- ✅ Standalone functions for bundle optimization
- ✅ Async iteration for pagination