Releases
Versioning, release process, and support policy.
Status: private Beta
The current release line is Beta. All builds are evaluation builds; no public release happens without the maintainer's explicit approval.
Versioning
AIGuard follows Semantic Versioning with PEP 440 pre-release identifiers:
| Bump | When |
|---|---|
| MAJOR | Incompatible changes to the policy Decision contract, hook protocol, state file formats, or CLI |
| MINOR | Backward-compatible features — new policy rules, new assistant integrations, new CLI commands |
| PATCH | Backward-compatible fixes, especially security fixes |
| Pre-release | aN / bN / rcN
suffixes, e.g. 6.1.0b1 |
Release automation
Releases are built and published by a GitHub Actions workflow using PyPI Trusted Publishing (OIDC) — no API tokens are stored anywhere. The workflow runs the test suite, builds the sdist and wheel, then publishes:
- Push a tag
vX.Y.Z→ publish to PyPI and create a GitHub Release (marked pre-release automatically fora/b/rcversions). - Manual run → publish to TestPyPI for a rehearsal.
Support policy
During Beta, only the latest pre-release is supported.
After the first stable release, the latest MAJOR.MINOR line
receives fixes; older lines do not.
Deprecations
During Beta, expect breakage
Policy rules, state file formats, and CLI behavior may change between pre-releases without a deprecation period. After stable, behavior removals are announced in the changelog and, where possible, with a runtime warning for at least one minor release before taking effect.
Release history lives in the repository's CHANGELOG.md.