Back to Genai Toolbox

Versioning Policy

docs/en/reference/versioning.md

1.1.02.2 KB
Original Source

MCP Toolbox for Databases follows Semantic Versioning.

Definition of the Public API

For the purposes of this policy, the "Public API" includes:

  • Server
    • CLI: The execution engine and lifecycle manager for tool hosting.
    • Configuration Manifests: The structural specification of tools.yaml.
    • Pre-built Configs: Curated sets of tools (and other MCP primitives) including the CLI flag, source configuration, toolsets names, and tools.
    • MCP versions: Supporting MCP revisions and transport protocols.
  • Client SDKs: Both the foundational "Base SDKs" and the orchestration-specific "Integrated SDKs".

What Constitutes a Breaking Change (Major Version Bump)

A major version bump (e.g., v1.x.x to v2.0.0) is required for the following modifications:

  • Server: Supporting MCP revisions and transport protocols.
    • CLI & Config: Removing existing CLI flags or introducing backwards-incompatible changes to the core configuration format.
    • Pre-built Configs: Renaming or removing the name of a pre-built toolset. Agents rely on the toolset names for discovery, so altering them breaks downstream integrations.
  • Client SDKs: Removing or renaming public methods, modifying expected input payload structures, or changing expected return types.
  • MCP Protocol Support: Removing support for an existing MCP protocol version. Until official MCP protocol guidelines dictate otherwise, dropping an MCP version counts as a major breaking change. A deprecation warning will be provided prior to removal, aligning with typical new specification cycle timelines.

What is NOT a Breaking Change (Minor/Patch Version)

The following changes will not trigger a major version bump:

  • Server
    • Pre-built Config Modifications: Adding, removing, or renaming individual tools within a pre-built toolset, as well as modifying server description, prompts, resources, tool descriptions or inputs, are treated as non-breaking changes.
  • Experimental Features: Features or wrapper packages explicitly documented as "Preview" or "Beta" may introduce breaking changes without a major version bump to the core project.