Composio supports semantic versioning for actions to ensure stable and consistent interfaces. This guide explains how version specifiers work and how to use them in your applications.

Versioning Policies

Composio follows semantic versioning principles:

  • Minor Version Changes (0_1 → 0_2)

    • Non-breaking interface changes
    • Examples: Adding optional parameters, extending functionality
    • Backward compatible with previous minor versions
  • Major Version Changes (0_3 → 1_0)

    • Breaking interface changes
    • Examples: Action deprecation or replacement, Changes in required parameters, Changes in parameter types or formats
    • May require updates to existing code

Version Specifiers

Composio provides several ways to specify which version of an action you want to use:

  • latest - Uses the most recent version available. For example, if an action has versions 0_1, 0_2, 0_3, 1_0, and 1_1, latest will resolve to 1_1.
  • latest:base - Uses the latest version before a major version change. Using the same example versions, latest:base would resolve to 0_3.
  • x_y - Explicitly specify major (x) and minor (y) versions, like 0_1 or 1_0.

Using Versions in Code

Here’s how to specify versions when using Composio:

If no version is specified it defaults to latest:base