Change Management Policy
Change Management Policy
Overview
This document defines the change management process for HeliosDB Nano, ensuring controlled, documented, and auditable changes to code, configuration, and infrastructure.
Change Categories
Standard Changes
Pre-approved, low-risk changes that follow documented procedures.
| Change Type | Example | Approval | Lead Time |
|---|---|---|---|
| Dependency update (patch) | 1.2.3 → 1.2.4 | Automated | Immediate |
| Documentation update | README changes | 1 reviewer | < 1 day |
| Bug fix (non-security) | Minor fixes | 1 reviewer | < 1 day |
| Test additions | New test coverage | 1 reviewer | < 1 day |
Normal Changes
Routine changes requiring standard review and approval.
| Change Type | Example | Approval | Lead Time |
|---|---|---|---|
| Feature implementation | New functionality | 2 reviewers | 2-5 days |
| Dependency update (minor) | 1.2.x → 1.3.0 | 1 reviewer + CI | 1-2 days |
| Configuration change | New settings | 1 reviewer | 1 day |
| Performance optimization | Code improvements | 2 reviewers | 2-3 days |
Significant Changes
High-impact changes requiring extensive review.
| Change Type | Example | Approval | Lead Time |
|---|---|---|---|
| Breaking API change | Protocol changes | 3 reviewers + arch | 1-2 weeks |
| Security-related change | Crypto updates | Security team | 1 week |
| Dependency update (major) | 1.x → 2.0 | 2 reviewers + test | 3-5 days |
| Architecture change | Module restructure | Architecture review | 2-4 weeks |
Emergency Changes
Urgent changes to address critical issues.
| Change Type | Example | Approval | Lead Time |
|---|---|---|---|
| Security patch | CVE remediation | Security lead | < 24 hours |
| Critical bug fix | Data corruption | 2 reviewers | < 24 hours |
| Incident response | Active attack | Incident commander | Immediate |
Change Request Process
1. Request Initiation
## Change Request
**Title**: [Brief description]**Category**: [Standard/Normal/Significant/Emergency]**Requestor**: [Name]**Date**: [YYYY-MM-DD]
### Description[Detailed description of the proposed change]
### Justification[Why is this change needed?]
### Impact Assessment- Affected components: [List]- Risk level: [Low/Medium/High]- Rollback plan: [Description]
### Testing Plan[How will the change be tested?]
### Implementation Plan[Step-by-step implementation]2. Review & Approval
| Category | Reviewers Required | Approval Authority |
|---|---|---|
| Standard | 1 peer | Automated/Self |
| Normal | 2 peers | Team lead |
| Significant | 3 peers + specialist | Architecture team |
| Emergency | 1 peer + lead | Security/Ops lead |
3. Implementation
# Feature branch workflowgit checkout -b feature/change-descriptiongit commit -m "feat: description"git push origin feature/change-description
# Create pull requestgh pr create --title "feat: description" --body "$(cat change_request.md)"4. Verification
- Automated tests pass (CI)
- Manual review completed
- Security scan clean
- Documentation updated
- Changelog updated
5. Deployment
# Merge to maingh pr merge --squash
# Create release (for tagged releases)git tag -a v3.5.9 -m "Release v3.5.9"git push origin v3.5.9CI/CD Pipeline Controls
Automated Checks
name: CI
on: [push, pull_request]
jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4
- name: Build run: cargo build --all-features
- name: Test run: cargo test --all-features
- name: Clippy run: cargo clippy -- -D warnings
- name: Security Audit run: cargo audit
- name: License Check run: cargo deny check licensesBranch Protection
# Required for main branchbranch_protection: required_reviews: 2 dismiss_stale_reviews: true require_code_owner_review: true required_status_checks: - build - test - clippy - security-audit enforce_admins: true allow_force_pushes: false allow_deletions: falseSecurity-Sensitive Paths
Changes to these paths require security team review:
CODEOWNERS:/src/crypto/ @security-team/src/auth/ @security-team/Cargo.toml @security-team/docs/compliance/ @security-team/.github/workflows/ @devops-team @security-teamRelease Process
Version Numbering
Semantic Versioning (SemVer):
- MAJOR: Breaking changes (X.0.0)
- MINOR: New features, backward compatible (0.X.0)
- PATCH: Bug fixes, backward compatible (0.0.X)
Release Checklist
- All tests passing
- Security audit clean
- CHANGELOG.md updated
- Version bumped in Cargo.toml
- Documentation updated
- Release notes drafted
- Tag created and pushed
- Binaries built and published
- Announcement prepared
Hotfix Process
# Create hotfix branch from latest releasegit checkout -b hotfix/3.5.8 v3.5.8
# Apply fixgit cherry-pick <fix-commit>
# Update version# Edit Cargo.toml: 3.5.8 → 3.5.9
# Tag and releasegit tag -a v3.5.9 -m "Hotfix: description"git push origin v3.5.9
# Merge back to maingit checkout maingit merge hotfix/3.5.8Rollback Procedures
Code Rollback
# Revert specific commitgit revert <commit-hash>
# Rollback to previous versiongit checkout v3.5.7cargo build --releaseDatabase Rollback
-- HeliosDB branch-based rollbackCHECKOUT BRANCH 'pre_change_branch';
-- Or time-travel querySELECT * FROM users AS OF '2026-01-23T12:00:00Z';Configuration Rollback
# Restore previous configurationcp /etc/heliosdb/heliosdb.toml.backup /etc/heliosdb/heliosdb.tomlsystemctl restart heliosdbAudit Trail
Change Log Format
{ "change_id": "CHG-2026-0001", "timestamp": "2026-01-24T12:00:00Z", "type": "normal", "description": "Add FIPS 140-3 support", "requestor": "developer@heliosdb.io", "approvers": ["reviewer1@heliosdb.io", "reviewer2@heliosdb.io"], "commit": "abc123", "pr_number": 456, "files_changed": 15, "lines_added": 500, "lines_removed": 100, "test_results": "passed", "security_review": "approved"}Retention
| Record Type | Retention Period |
|---|---|
| Change requests | 3 years |
| Approval records | 3 years |
| Deployment logs | 1 year |
| Rollback events | 3 years |
Compliance Mapping
SOC 2 (CC8)
- CC8.1: Changes authorized before implementation ✓
- CC8.2: Changes tested before deployment ✓
- CC8.3: Changes follow documented process ✓
ITIL Change Management
- Request for Change (RFC) ✓
- Change Advisory Board (CAB) → Architecture review ✓
- Post-Implementation Review (PIR) → PR merge review ✓