Plugin Compatibility Policy¶
Versioning¶
honestroles plugin compatibility is governed by plugin API versions, not by plugin package versions.
- Core exposes
SUPPORTED_PLUGIN_API_VERSION(currently1.0) - Plugins declare
PluginSpec.api_version
Compatibility Rules¶
Registration is allowed only when:
- Plugin major version equals core major version.
- Plugin minor version is less than or equal to core minor version.
Examples with core 1.0:
1.0: compatible1: compatible (normalized to1.0)1.1: incompatible (plugin requires newer API)2.0: incompatible (breaking major mismatch)
Deprecation¶
When introducing behavior changes:
- Add warnings in one minor release.
- Keep previous behavior working through the deprecation window.
- Remove only in next major version.
Plugin Maintainer Checklist¶
Before releasing a plugin:
- Pin and test against supported
honestrolesversions. - Declare
PluginSpecexplicitly. - Run plugin contract tests with representative fixtures.
- Avoid mutating input DataFrames in-place unless explicitly documented.
Core Maintainer Checklist¶
Before releasing honestroles:
- Run plugin compatibility tests.
- Review any API changes impacting plugin signatures.
- Update
docs/reference/plugins/api_contract.mdand migration notes. - Bump major version for plugin API breaking changes.