Release Checklist
Validate a connector before release.
#Release checklist
A release of maivn-tools cannot ship until every box below is checked.
#Package
- [ ] The version resolved from
src/maivn_tools/__version__.pyis the intended public version. - [ ]
CHANGELOG.mdhas an entry for the release with Added, Changed, Deprecated, Removed, Fixed, Security sections as applicable. - [ ]
requires-pythonagrees with the supported and tested interpreter matrix. - [ ] Optional dependencies and extras are declared explicitly and the docs reference the correct install command.
- [ ] The chosen license metadata and required license files agree and ship in the sdist and wheel.
#Tests
- [ ]
uv run --frozen pytestis green. - [ ]
uv run --frozen ruff check src testsis clean. - [ ]
uv run --frozen basedpyright src/maivn_toolsis clean. - [ ] Coverage on
src/maivn_tools/connectors/has no untested public tool callable. - [ ] Live-provider tests (see
docs/testing.md) are either skipped by default or gated on environment variables.
#Documentation
- [ ] Every new connector has a docs page under
docs/connectors/. - [ ]
docs/index.mdlists each docs page. - [ ] Provider docs follow
docs/templates/provider.md. - [ ] Public API additions are reflected in
docs/api-policy.mdif they introduce new stable surface. - [ ] Security-relevant additions update
docs/security.md.
#API stability
- [ ] No public symbol was renamed or removed without a deprecation in a prior minor release (per
docs/api-policy.md). - [ ] Optional dependencies that were removed appear in the changelog as breaking changes and bump the major version.
- [ ] Pinned minimum versions for required dependencies are still met by the tested matrix.
#Security
- [ ] No secret material appears in audit-event detail payloads, tool schemas, exception messages, or log statements.
- [ ] Destructive tools have
destructive=Trueand an explicitPermissionSetcovering the work they perform. - [ ] Sandboxes (file connectors, SQL execution) reject path or query traversal in the unit tests.
#Compatibility
- [ ] Type hints resolve under
pyrightat the supported Python versions. - [ ] The package imports without optional dependencies present.
#Tag and publish
- [ ] Git tag
vX.Y.Zmatches the version resolved fromsrc/maivn_tools/__version__.py. - [ ] Release notes mirror the changelog entry for the version.
- [ ] PyPI upload succeeds and
pip install maivn-tools==X.Y.Zworks in a clean virtualenv.