This document defines ToolGlot's public API guarantees and deprecation framework.
The following symbols are considered public and stable unless explicitly marked deprecated:
ToolKitToolDefinitionToolParameterToolCallToolResultModelCapabilitiescapabilities()parse_tool_calls()
Deprecated compatibility aliases are public but scheduled for removal:
parse_calls()(deprecated, remove inv0.3.0, useparse_tool_calls())
Anything not listed here (internal modules, helper functions, implementation details) may change without notice.
- Stable: Public API listed above; backward-compatible across minor releases.
- Beta: Explicitly documented as beta; may change with migration notes.
- Internal: Not part of the public contract.
When deprecating a public API:
- Keep old behavior functional during the deprecation window.
- Emit
DeprecationWarningwith:- deprecated symbol
- replacement symbol (if available)
- planned removal version
- Add release note entry under "Deprecations".
- Remove only after the minimum deprecation window is complete.
- Patch release: no removals of public API
- Minor release: deprecations may be introduced; removals require at least one full minor release warning window
- Major release: removals allowed for previously deprecated APIs with migration guidance
- Deprecation paths must have tests asserting warnings are emitted.
- PRs introducing deprecations must include:
- warning tests
- docs updates in this file
- release note entry in release template