diff --git a/MILESTONES.md b/MILESTONES.md index 10ddc3e4..71dfd4a9 100644 --- a/MILESTONES.md +++ b/MILESTONES.md @@ -27,9 +27,18 @@ DocuElevate follows [Semantic Versioning 2.0.0](https://semver.org/): - **Database-backed settings management with encryption** - **Setup wizard for first-time configuration** - **Admin UI for runtime configuration** +- **Automated semantic versioning and releases** - OAuth2 authentication with admin group support - Basic web UI and REST API +### Important Note on Versioning +As of February 2026, DocuElevate uses **automated semantic versioning**: +- Version management handled by `python-semantic-release` +- Releases automated via GitHub Actions on merge to main +- Version bumps determined by conventional commit messages +- `VERSION` and `CHANGELOG.md` automatically updated +- GitHub Releases created automatically with release notes + --- ## Previous Releases @@ -237,7 +246,27 @@ This is our first major release, marking production-ready enterprise capabilitie ## Release Process -### Pre-release Checklist +### Automated Semantic Versioning (v0.6.0+) +Starting with v0.6.0, releases are fully automated using `python-semantic-release`: + +1. **Commit with Conventional Format**: Use conventional commit messages (feat, fix, etc.) +2. **Merge to Main**: PR merges trigger semantic-release workflow +3. **Automated Analysis**: semantic-release determines version from commits +4. **Automatic Updates**: + - Updates `VERSION` file + - Generates/updates `CHANGELOG.md` + - Creates Git tag (e.g., `v0.6.0`) + - Creates GitHub Release with notes + - Triggers Docker image builds +5. **No Manual Steps**: VERSION and CHANGELOG are never edited manually + +### Version Bump Rules +- `feat:` commits → Minor version (0.5.0 → 0.6.0) +- `fix:`, `perf:` → Patch version (0.5.0 → 0.5.1) +- `feat!:`, `BREAKING CHANGE:` → Major version (0.5.0 → 1.0.0) +- Other types (docs, chore, etc.) → No version bump + +### Pre-release Checklist (Automated) - [ ] All tests passing - [ ] Security scan passed - [ ] Code review completed diff --git a/ROADMAP.md b/ROADMAP.md index e121b8ce..389693fe 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -46,6 +46,12 @@ DocuElevate aims to be the premier open-source intelligent document processing p - [ ] Implement API key rotation - [ ] Add audit logging for sensitive operations +- **Release Automation** (Completed ✅) + - [x] Implement semantic-release for automated versioning + - [x] Add conventional commit validation + - [x] Automate CHANGELOG generation + - [x] Integrate Docker builds with releases + ### Features - v0.4.0 - **Enhanced Search & Filtering** - [ ] Full-text search across documents diff --git a/TODO.md b/TODO.md index 7f735a8e..4042e3cf 100644 --- a/TODO.md +++ b/TODO.md @@ -7,6 +7,15 @@ This document tracks actionable tasks for the current development cycle. For lon --- +## ⚠️ Important Note on Versioning + +As of this update, DocuElevate uses **automated semantic versioning** via `python-semantic-release`: +- **DO NOT** manually edit `VERSION` or `CHANGELOG.md` +- Version bumps are automated based on conventional commit messages +- See [CONTRIBUTING.md](CONTRIBUTING.md) for commit message format + +--- + ## 🔴 Critical Priority (This Week) ### Security @@ -46,6 +55,8 @@ This document tracks actionable tasks for the current development cycle. For lon - [x] Enable tests in GitHub Actions - [x] Add coverage reporting - [x] Add CodeQL scanning +- [x] Implement semantic-release for automated versioning +- [x] Add conventional commit validation (commitlint) - [ ] Add dependency scanning (Dependabot or similar) - [ ] Make linting checks blocking (once critical issues fixed) - [ ] Add build status badges to README.md @@ -55,8 +66,9 @@ This document tracks actionable tasks for the current development cycle. For lon - [x] Create MILESTONES.md - [x] Create TODO.md - [x] Create SECURITY_AUDIT.md -- [ ] Create AGENTIC_CODING.md -- [ ] Update CONTRIBUTING.md with testing guidelines +- [x] Create AGENTIC_CODING.md +- [x] Update CONTRIBUTING.md with testing guidelines and conventional commits +- [x] Archive one-off documentation files to docs/archive/ - [ ] Add architecture diagram to docs/ - [ ] Document all environment variables in docs/ConfigurationGuide.md - [ ] Add troubleshooting section for common test failures @@ -214,7 +226,18 @@ This document tracks actionable tasks for the current development cycle. For lon ## ✅ Completed (Recent) -### 2026-02-08 +### 2026-02-08 (Semantic Release & Documentation Overhaul) +- [x] Implemented semantic-release with python-semantic-release +- [x] Created pyproject.toml with semantic-release configuration +- [x] Added .github/workflows/release.yml for automated releases +- [x] Added conventional commit validation (commitlint) to pre-commit hooks +- [x] Updated Docker workflow to use docuelevate image name +- [x] Archived one-off documentation to docs/archive/ +- [x] Updated CONTRIBUTING.md with conventional commits guide +- [x] Updated AGENTIC_CODING.md with versioning/release process +- [x] Updated .github/copilot-instructions.md with commit format rules + +### 2026-02-08 (Settings Management) - [x] Implemented database-backed settings management system - [x] Added Fernet encryption for sensitive settings in database - [x] Created 3-step setup wizard for fresh installations