docs/content/changelog/09-16-25.mdx
Composio Toolkit Versioning provides granular control over tool versions across all your integrations. Instead of always using the latest version of tools, developers can now specify exact toolkit versions, ensuring consistent behavior and controlled updates in production environments.
Added
toolkit_versions parameter for controlling tool versions
toolkit_versions parameter to Composio class initialization'latest'){'github': '20250902_00', 'slack': '20250902_00'})COMPOSIO_TOOLKIT_VERSION_<TOOLKIT_NAME> patterntoolkit_version.py utility module for version resolution logicExamples:
# Global version for all toolkits, only `latest` is supported
composio = Composio(toolkit_versions='latest')
# Per-toolkit version mapping
composio = Composio(toolkit_versions={
'github': '20250902_00',
'slack': '20250902_00',
'gmail': '20250901_01'
})
# Using environment variables
# Set COMPOSIO_TOOLKIT_VERSION_GITHUB=20250902_00
composio = Composio() # Automatically picks up env vars
# Get tools with specific versions
tools = composio.tools.get('default', {'toolkits': ['github']})
Added
toolkitVersions configuration option
toolkitVersions parameter in Composio class constructorgetToolkitVersionsFromEnv() utilitygetRawComposioToolBySlug() method for version-specific tool retrievalExamples:
// @noErrors
// Global version for all toolkits
const composio = new Composio({
toolkitVersions: '20250902_00'
});
// Per-toolkit version mapping
const composio = new Composio({
toolkitVersions: {
'github': '20250902_00',
'slack': '20250902_00',
'gmail': '20250901_01'
}
});
// Using environment variables
// Set COMPOSIO_TOOLKIT_VERSION_GITHUB=20250902_00
const composio = new Composio(); // Automatically picks up env vars
// Get specific tool version
const tool = await composio.tools.getRawComposioToolBySlug(
'GITHUB_GET_REPO',
);
// Get tools with version-aware filtering
const tools = await composio.tools.get('default', {
toolkits: ['github'],
limit: 10
});
COMPOSIO_TOOLKIT_VERSION_<TOOLKIT_NAME>=<VERSION> for automatic version resolutionToolkit versions follow the format: YYYYMMDD_NN (e.g., 20250902_00) or use 'latest' for the most recent version only supported at global scope and not individual toolkit level.
# Set specific versions for different toolkits
export COMPOSIO_TOOLKIT_VERSION_GITHUB=20250902_00
export COMPOSIO_TOOLKIT_VERSION_SLACK=20250902_00
export COMPOSIO_TOOLKIT_VERSION_GMAIL=20250901_01
This feature is fully backward compatible. Existing code will continue to work without changes, using the latest versions by default. To enable versioning, simply add the toolkit_versions parameter during SDK initialization.