CodeCharter follows Semantic Versioning. This applies to the CLI, the VS Code extension, the GitHub Action, and the analysis schema.
Version structure
Three numbers MAJOR.MINOR.PATCH, optionally with a pre-release suffix such as -edge.3.
What we guarantee per level
Patch
- Bug fixes or purely internal improvements only.
- No schema changes — a
.ccrfile that runs onX.Y.0also runs onX.Y.5. - No output format breakage; the JSON schema stays the same.
- Built-in rule packages unchanged in logic. Severity and description may be refined.
Patches are drop-in replacements.
Minor
- New features added additively: new built-in rule packages, new schema properties, new CLI options.
- No breaking changes to existing contracts. Existing
.ccrfiles and CLI invocations continue to work. - New built-in rules may produce new findings.
Major
- Breaking changes permitted: schema properties may be removed, output formats may change structurally, built-in rules may be removed.
- Major upgrades are a deliberate step accompanied by a migration guide.
Version pinning in CI
# Conservative: pin exactly
- uses: bochmann-software/codeguard@v1
with:
version: 1.0.6
api-key: ${{ secrets.CODECHARTER_API_KEY }}
# Liberal: pin to major, use latest within that major
- uses: bochmann-software/codeguard@v1
with:
api-key: ${{ secrets.CODECHARTER_API_KEY }}
Recommendation for most teams: pin to the major version and use the default version. This gets you automatic bug fixes and features without breaking changes.
Version detection
codecharter --version
# CodeCharter 1.0.6
The JSON output includes the version in the version field:
{
"version": "1.0.6",
"findings": [...]
}
Schema versioning
The analysis schema (properties on TypeModel, MethodModel, and other models) follows the same SemVer contract:
- Patch: no schema changes.
- Minor: new properties added additively.
- Major: existing properties may be removed.
Current state
You can see the current distribution version in the portal under Downloads. The supported versions per channel are listed under Channels.