-
Notifications
You must be signed in to change notification settings - Fork 1
Versioning
Status: Active
Applies to: All ThemisDB editions (MINIMAL, COMMUNITY, ENTERPRISE, MILITARY, HYPERSCALER)
This document defines the versioning scheme, release cadence, and support lifecycle for ThemisDB.
- Version Format
- Version Identifiers in the Repository
- Release Types
- Release Cadence
- Supported Versions & End-of-Life
- Edition Versioning
- Changelog Requirements
- Deprecation Policy
- Breaking Changes
- Pre-release Identifiers
ThemisDB follows Semantic Versioning 2.0.0:
MAJOR.MINOR.PATCH[-PRE_RELEASE]
Examples:
2.6.0
2.6.0-rc1
2.7.0-alpha1
2.7.0-beta1
| Segment | Incremented when |
|---|---|
| MAJOR | Incompatible API or wire-protocol changes |
| MINOR | New backward-compatible functionality |
| PATCH | Backward-compatible bug fixes and security patches |
| PRE_RELEASE | Pre-release qualifier (see Β§10) |
Rule: PATCH resets to
0on a MINOR bump; MINOR resets to0on a MAJOR bump.
The canonical version is stored in two places that must always be kept in sync:
| File | Format | Example |
|---|---|---|
VERSION |
Plain text, one line | <major>.<minor>.<patch>[-pre] |
CHANGELOG.md |
Keep a Changelog header | ## [<major>.<minor>.<patch>] - YYYY-MM-DD |
Additionally, the CMake build system reads the version at configure time via the VERSION file and from CMakeLists.txt project() call. Keep these consistent.
The RELEASE_TYPE file contains the current release type string (e.g., stable, rc, beta). For GA governance claims, VERSION/RELEASE_TYPE must be interpreted together with the active promotion evidence state (including Section 9 sign-off in docs/governance/GA_PROMOTION_SIGN_OFF.md).
Every PR must declare a target version at merge time. This maps the PR to a GitHub milestone and enables:
- Release scope tracking: milestone aggregates all PRs targeting a release
-
Changelog generation: PR titles/numbers are recorded in
CHANGELOG.md -
Roadmap alignment: PR scope is validated against planned features in
ROADMAP.md
PR Version Selection:
| PR Type | Target Version | Example |
|---|---|---|
| New feature | Next planned MINOR |
v2.5.0-alpha1 for feature work on develop |
| Bug fix (current RC/stable) | Current release or patch |
v<current-rc> or v<current-stable-patch>
|
| Bug fix (general) | Next MINOR | v2.5.0-alpha1 |
| Documentation | Feature version | Same as documented feature |
| Security patch | Current stable first |
v<current-stable> then backport to v<current-stable-patch>
|
| Infrastructure / Refactoring | Next MINOR or backlog |
v2.5.0-alpha1 or [Unreleased]
|
See docs/governance/PR_VERSION_TARGETING.md for detailed selection criteria and release manager workflow.
| Type | Description | Example tag |
|---|---|---|
| Alpha | Early preview; API may change significantly | v2.5.0-alpha1 |
| Beta | Feature-complete; API stabilising | v2.5.0-beta1 |
| Release Candidate (RC) | Feature-frozen; only bug fixes | vX.Y.Z-rcN |
| Stable | General availability (GA) | vX.Y.Z |
| Patch / Hotfix | Critical fixes on a stable release | vX.Y.(Z+1) |
Releases progress through the type sequence: alpha β beta β rc β stable.
Critical security fixes may bypass the pre-release sequence and be released directly as a patch.
RELEASE_TYPE values are normalized to: alpha, beta, rc, stable.
Canonical suffixes:
RELEASE_TYPE |
Canonical suffix | Legacy suffixes (historical entries only) |
|---|---|---|
alpha |
-alphaN |
-alpha |
beta |
-betaN |
-beta.N |
rc |
-rcN |
-rc.N, -rc
|
stable |
(none) | n/a |
A stable / GA tag may only be cut after the release-policy gates in RELEASE_STRATEGY.md are satisfied on develop.
Required evidence bundle:
- Wave 7 PASS on the current baseline
- green
release_criticalCI ondevelop - no new CRITICAL findings in
server,llm, andsharding - required sanitizer, recovery, chaos/fault-injection, penetration-test, SLA, and runbook artefacts
- synchronized release/governance documentation (
ROADMAP.md,FUTURE_ENHANCEMENTS.md,CHANGELOG.md, branch/release/versioning docs) - completed GA hardening execution batches (A-D) with boundary evidence updates in planning/status documents
Current batch tracking is maintained in ROADMAP.md, NEXT_PHASE_IMPLEMENTATION_PLAN.md, and ai_working/NEXT_PHASE_STATUS.md. Technical gates for Batch D (D-1..D-10) have passed. The final human governance sign-off (Section 9 of docs/governance/GA_PROMOTION_SIGN_OFF.md, gate D-11) is still pending and is the only remaining GA promotion blocker.
| Release type | Approximate cadence |
|---|---|
| Stable MINOR | Every 6β8 weeks |
| Stable PATCH / Hotfix | As needed (P0 within 48 h, P1 within 1 week) |
| Release Candidate | 1β2 weeks before a stable release |
Release dates are tracked in CHANGELOG.md and announced via GitHub Releases.
| Version line | Status | Security updates | End-of-Life |
|---|---|---|---|
| 2.4.x | β Active / Current prerelease line | β Yes | TBD |
| 2.3.x and earlier | Case-by-case | See CHANGELOG.md
|
Maintenance means security patches and critical bug fixes only; no new features.
Unsupported means no patches of any kind are provided.
Private plugins use their own SemVer in addition to the core repository version.
Rules:
- plugin
MAJOR: plugin ABI/API break or incompatible core-compatibility contract change - plugin
MINOR: new backward-compatible capability - plugin
PATCH: backward-compatible fix or hardening - the superproject release contract is the combination of a plugin-named private submodule pin + manifest compatibility fields, not a floating branch name
- private plugin manifests should declare
min_themisdb_version, optionalmax_themisdb_version, and optionalcompatible_core_abi - edition-restricted plugins must also declare
allowed_editionsandlicense_featureso runtime and packaging gates can stay fail-closed
All five editions share the same MAJOR.MINOR.PATCH base version. Edition-specific builds are distinguished by branch and release naming convention:
| Edition | Git branch | Docker tag pattern | Git tag pattern |
|---|---|---|---|
| COMMUNITY | community |
themisdb/themisdb:<version>-community-binary-x64 and ...-arm
|
v<version> |
| ENTERPRISE | enterprise |
<private-registry>/themisdb-enterprise:<version>-enterprise-binary-x64 and ...-arm
|
enterprise-v<version> |
| MILITARY | military |
(private registry) | military-v<version> |
| HYPERSCALER | hyperscaler |
<oem-registry>/themisdb-hyperscaler:<version>-hyperscaler-binary-x64 and ...-arm
|
hyperscaler-v<version> |
| MINIMAL | minimal |
themisdb/themisdb-minimal:<version>-minimal-binary-x64 and ...-arm
|
minimal-v<version> |
Release assets on GitHub follow the same canonical basename:
themisdb-{version}-{edition}-{sourcecode|binary}-{arm|x86|x64}
See RELEASE_STRATEGY.md for branch rules, CI gates, and the edition feature matrix.
Every release must include a corresponding entry in CHANGELOG.md following the Keep a Changelog convention:
## [MAJOR.MINOR.PATCH] - YYYY-MM-DD
### Added
- ...
### Changed
- ...
### Deprecated
- ...
### Removed
- ...
### Fixed
- ...
### Security
- ...The [Unreleased] section accumulates changes in progress and is renamed to the version number at release time.
- A feature is marked deprecated in the CHANGELOG under
### Deprecated. - A deprecation notice is added to the API documentation and (where applicable) a compiler/runtime warning is emitted.
- The deprecated feature is removed no earlier than the next MAJOR release (minimum one MINOR release notice period).
- Deprecations are never introduced in PATCH releases.
Breaking changes (API, ABI, wire-protocol, configuration schema) require a MAJOR version bump.
Before introducing a breaking change:
- Open a GitHub issue labelled
breaking-changeand link it from the CHANGELOG. - Provide a migration guide in
docs/migration/and reference it from the CHANGELOG. - Where feasible, provide an automated migration tool or script.
Wire Protocol: The ThemisDB Wire Protocol version is independently versioned (
V1,V2, β¦). New protocol versions are introduced with MINOR version bumps and old versions remain supported for at least one full MAJOR cycle.
| Identifier | Meaning |
|---|---|
-alphaN |
Unstable preview (N = 1, 2, β¦) |
-betaN |
Feature-complete, stabilising |
-rcN |
Release candidate, feature-frozen |
Legacy forms -alpha, -beta.N, -rc.N, and -rc may still appear in historical release tags/changelog entries, but new releases should use the canonical -alphaN / -betaN / -rcN format.
Pre-release versions are never considered "stable" for production use. Docker tags for pre-releases carry the full qualifier (e.g., themisdb/themisdb:1.9.0-rc1-community-binary-x64) and the latest tag is only updated on stable releases.
- CHANGELOG.md β Full release history
- RELEASE_STRATEGY.md β Branch model, CI/CD, rollback
- SOP.md β Step-by-step release and hotfix procedures
- SECURITY.md β Security patch SLA
- ai_context/COPILOT_INSTRUCTIONS.md β AI/agent governance and documentation alignment rules
- ROADMAP.md β Canonical feature/milestone scope
- FUTURE_ENHANCEMENTS.md β Canonical open enhancement backlog
Zuletzt geprueft (Root-Sync): 2026-07-28 (Phase 6 in progress)
ThemisDB 1.9.0-beta Β· Home Β· Module-Index Β· GitHub Β· Issues
ThemisDB 1.9.0-beta Β· Home Β· Wiki-Index Β· Module-Index Β· FAQ Β· Quick-Reference Β· GitHub Β· Issues Β· Discussions Β· License
- Batch Operations
- Best Practices
- CRUD Tutorial
- Custom Document Ingestion
- Getting Started Tutorial
- Interactive Examples
- Schema Design
- Video Tutorials
- AQL Reference
- AQL Examples
- AQL Overview
- AQL Feature Roadmap
- AQL Geospatial Guide
- AQL LLM Migration Guide
- AQL API
- AQL Grammar (EBNF)
- AQL Root Overview
- AQL Examples (root)
- API Reference
- API Module README
- OpenAPI Overview
- Client SDK Overview
- SDK Overview
- Operations
- Operations Overview
- Operations Runbook
- Operations Handbook
- ThemisCtl Admin Guide
- Pipeline E2E SOPs
- Deploy Overview
- Docker Overview
- Docker Hub README
- Helm Overview
- Packaging Overview
- Operator Overview
- Security Policy
- Production Hardening Checklist
- Security Hardening Guide
- Encryption Key Management
- Access Control Framework
- Zero Trust Policy
- API Authentication & Authorization
- HSM Production Setup
- PKCS11 Integration
- DSGVO / SOC2 Checklist
- Access Model Runbooks
- Access Model Dashboard
- Maturity Automation Runbook
- Access Review Automation
- Access Model Dashboard
- Access Model Runbooks
- Rights Revocation
- Dr Checklists
- Dr Testing
- Incident Response Playbook
- Incident Response Testing
- GPU Oom Recovery
- Grammar Debugging
- Metrics Scrape Troubleshooting
- Model Swap Procedure
- Quota Tuning
- Subagent Deployment
- Logging Configuration
- Content Model
- Crypto & Keys
- Feature Flags Reference
- Modular Architecture Roadmap
- Modularization Guide
- Module Architecture Index
- PostgreSQL Wire Protocol
- Query Scheduling
- Raft Consensus Design
- Resource Pooling
- Source Directory Guide
- Unified Access Model
- E1 001 Layered Retrieval Design
- E1 002 Ann Abstraction Strategy
- E1 003 Tensor Summary Types
- E1 004 Lora Package Distinction
- E1 005 Model Switch Compatibility
- E1 006 Federated Tensor Summaries
- E2 001 Evaluation Framework Design
- E2 002 Hardware Profile Strategy
- E2 003 Query Planner Routing Model
- E2 004 Approximation Governance Rules
- E2 005 Cross Layer Fallback Confidence Policy
- E3 001 Distributed Tensor Design
- E3 002 Manifest Coordination Strategy
- E3 003 Recovery And Erasure Choice
- E3 004 Tensor Fabric Infrastructure
- Contributing
- Contributing (root)
- Code of Conduct
- Support
- Maintainers
- CTest Guide
- Build Quick Reference
- Developer Wiki Index
- Build / Test / CI
- Module Index
- Branching Strategy
- Disabled Stub Policy
- Docs PR Policy
- GA Promotion Sign Off
- Github Milestones Setup
- Maturity Claim Verification Checklist
- Maturity Evidence Registry
- Merge Gate Bot Config
- Merge Gate Status Live
- Phase 1 Closure Report
- Phase Closure Policy
- Phase Dependency Graph
- Phase3 Enforcement Runbook
- Plugin Submodule Rollback
- PR Version Targeting
- PR Version Targeting Backfill
- Production Ready 2026 Delivery Plan
- Query Module Status
- Readme
- Release Promotion Gate Policy
- Release Validation Checklist
- Security Module 5671 Evidence Summary
- Sharding P6 Residual Risk Acceptance
- Sourcecode Compliance Governance
- Updates Development Status Sign Off
- Wave C Implementation Complete
- Blob Storage
- Cuda
- Ethics Ai
- Exporters
- Huggingface
- Image Analysis
- Importers
- RPC
- Scraper
- Themisdb Ai Watermark Detector
- User Storage Encrypted
- Chimera Architecture
- Chimera Future
- Chimera Readme
- Chimera Roadmap
- Covina Fastapi Ingestion Architecture
- Covina Fastapi Ingestion Future
- Covina Fastapi Ingestion Roadmap
- Vcc Base Architecture
- Vcc Base Future
- Vcc Base Roadmap
- Vcc Clara Ingestion Architecture
- Vcc Clara Ingestion Future
- Vcc Clara Ingestion Roadmap
- Vcc Veritas Architecture
- Vcc Veritas Future
- Vcc Veritas Roadmap
- 01 Hello World
- 02 Todo App
- 03 Contact Manager
- 04 Inventory System
- 05 Time Series Monitor
- 06 Graph Social Network
- 07 Vector Search Documents
- 08 Dms Erp System
- 09 Iot Sensor Network
- 10 Drone Image Analysis
- 11 Blog Wiki
- 12 Expense Tracker
- 13 Recipe Manager
- 14 Ecommerce Catalog
- 15 Event Management
- 16 Kanban Board
- 17 Crm
- 18 Realtime Chat
- 19 Recommendation Engine
- 20 Smart Home
- 21 Coding Platform
- 22 AQL Diagram Tool
- 23 Traveling Salesman
- 24 Moral Philosophy Debates
- API Versioning
- Distributed Sharding
- Feedback Plugins
- Geo
- Gnn
- Image Analysis
- Legal Lora Training
- LLM
- Lora Sync
- Migration
- Nlp
- Performance
- Railway
- Replication
- Rope Visualization
- Sample Product Config
- Security
- Client SDK Overview
- Quickstart
- Sdk Enhancements
- Sdk Implementation Summary
- Test Suite Readme
- Go
- Java
- Javascript
- Php
- Python
- Ruby
- Rust
- Typescript
- 01 Grundlegende Operationen
- 02 AQL Queries
- 03 Graph Daten
- 04 Multimodell Anwendung
- 01 Quickstart Guide
- 02 AQL Referenz Kurzuebersicht
- 03 Datenmodellierung Guide
- 04 Uebungsaufgaben
- 05 Best Practices Guide
- Training Documents
- Training Overview
- 01 Einfuehrung Und Uebersicht
- 02 Datenmodelle Und Architektur
- 03 AQL Abfragesprache
- 04 Installation Und Setup
- 05 Anwendungsbeispiele
- Training Presentations
- Dependencies Readme
- Processmonitor Readme
- Themis.admintools.shared Readme
- Themis.aqlquerybuilder Readme
- Themis.aqlquerybuilder Roadmap
- Themis.auditlogviewer Readme
- Themis.auditlogviewer Roadmap
- Themis.classificationdashboard Readme
- Themis.classificationdashboard Roadmap
- Themis.compliancereports Readme
- Themis.compliancereports Roadmap
- Themis.gisviewer.controlpanel Readme
- Themis.gisviewer.controlpanel Roadmap
- Themis.impactanalysisviewer Readme
- Themis.impactanalysisviewer Roadmap
- Themis.ingestiontool Readme
- Themis.ingestiontool Roadmap
- Themis.keyrotationdashboard Readme
- Themis.keyrotationdashboard Roadmap
- Themis.piimanager Readme
- Themis.piimanager Roadmap
- Themis.retentionmanager Readme
- Themis.retentionmanager Roadmap
- Themis.sagaverifier Readme
- Themis.sagaverifier Roadmap
- Themis.usbadmintool Readme
- Themis.usbadmintool Roadmap
- CI Readme
- CI Roadmap
- Compiler Diagnostics Readme
- Compiler Diagnostics Roadmap
- Completion Readme
- Copilot Ollama Router Readme
- Copilot Ollama Router Roadmap
- Gnn Readme
- Gnn Roadmap
- Rope Visualizer Readme
- Rope Visualizer Roadmap
- Tco Calculator Readme
- Tco Calculator Roadmap
- Tests Readme
- Tests Roadmap
- Themis Config Wx Readme
- Themis Docs Builder Readme
- Wikipedia Ingestion Readme