Version Management
This document describes how version tagging and feature tagging work in Syntropy-Journals.Version Format
The project uses semantic versioning:MAJOR.MINOR.PATCH
- MAJOR: Breaking changes or significant rewrites
- MINOR: New features, backwards compatible
- PATCH: Bug fixes, small improvements
pyproject.toml and displayed in the sidebar footer.
Feature Tags
Feature tags provide a quick visual indicator of the latest feature in a build. They appear in the sidebar footer as:v0.1.0 * checkin-cdc-sync
Feature tags are stored in syntropy_journals/app/version.py:
Files Involved
| File | Purpose |
|---|---|
pyproject.toml | Source of truth for version number (version = "0.1.0") |
syntropy_journals/app/version.py | FEATURE_TAG constant |
syntropy_journals/app/components/layout/sidebar.py | Sidebar footer displaying version + tag |
Tag Format
Git tags follow the pattern:v0.1.0-checkin-cdc-sync
Display
The sidebar footer renders:pyproject.toml (via importlib.metadata or hardcoded) and FEATURE_TAG from version.py.
Updating the Version
Bump version number
Editpyproject.toml:
Update feature tag
Editsyntropy_journals/app/version.py:
Commit
CI/CD Integration
Currently there is no automatic version bumping in CI. Version bumps are manual:- Developer updates
pyproject.tomlandversion.py - Commits and tags the release
- Push to
testbranch deploys to test environment - PR from
testtomaindeploys to production
main (patch increment + [skip ci] commit).
Related Documentation
- CI/CD — Deployment workflow
- Development — Local setup and workflow