Bump version to 0.5.0 for settings management release
Settings management represents a significant new feature warranting a minor version bump: - Database-backed configuration with 102 settings - Fernet encryption for sensitive values - Setup wizard for first-time installations - Complete admin UI and REST API - OAuth admin group support Version updated: 0.3.3 → 0.5.0 Keep 0.3.3 release notes intact (drag-and-drop feature from main branch). Add 0.5.0 as new current release with settings features. Updated files: - VERSION: 0.5.0 - CHANGELOG.md: Added 0.5.0 release, kept 0.3.3 intact - MILESTONES.md: Added v0.5.0 section, adjusted future versions - TODO.md: Updated current version - ROADMAP.md: Updated current status - app/config.py: Default version 0.5.0-dev - docs/BuildMetadata.md: Updated reference - ANALYSIS_SUMMARY.md: Updated version Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
This commit is contained in:
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
**Date:** 2026-02-06
|
**Date:** 2026-02-06
|
||||||
**Repository:** christianlouis/DocuElevate
|
**Repository:** christianlouis/DocuElevate
|
||||||
**Current Version:** v0.3.3
|
**Current Version:** v0.5.0
|
||||||
|
|
||||||
## Executive Summary
|
## Executive Summary
|
||||||
|
|
||||||
|
|||||||
+87
-1
@@ -5,6 +5,91 @@ All notable changes to DocuElevate will be documented in this file.
|
|||||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
# Changelog
|
||||||
|
|
||||||
|
All notable changes to DocuElevate will be documented in this file.
|
||||||
|
|
||||||
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||||
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
## [0.5.0] - 2026-02-08
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- **Settings Management System**: Database-backed configuration management with web UI
|
||||||
|
- Admin-only settings page at `/settings` with 102 settings across 10 categories
|
||||||
|
- REST API endpoints: `GET/POST /api/settings/{key}`, `POST /api/settings/bulk-update`, `DELETE /api/settings/{key}`
|
||||||
|
- Settings organized by category: Core, Authentication, AI Services, Storage Providers, Email, IMAP, Monitoring, Processing, Notifications, Feature Flags
|
||||||
|
- Form pre-filled with current values, all fields optional for flexible editing
|
||||||
|
- Bulk update support for changing multiple settings at once
|
||||||
|
|
||||||
|
- **Encryption for Sensitive Settings**: Fernet symmetric encryption for database storage
|
||||||
|
- Automatic encryption/decryption for passwords, API keys, tokens, and secrets
|
||||||
|
- Encryption key derived from `SESSION_SECRET` via SHA256
|
||||||
|
- Values prefixed with `enc:` in database to identify encrypted data
|
||||||
|
- Graceful fallback if cryptography library unavailable (logs warning)
|
||||||
|
- Lock icon (🔒) in UI indicates encrypted fields
|
||||||
|
|
||||||
|
- **Setup Wizard**: First-time configuration wizard for fresh installations
|
||||||
|
- 3-step wizard: Infrastructure → Security → AI Services
|
||||||
|
- Auto-detects missing critical settings and redirects from homepage
|
||||||
|
- Beautiful UI with progress indicators and step navigation
|
||||||
|
- Auto-generate option for session secrets
|
||||||
|
- Skippable for advanced users
|
||||||
|
- Settings saved encrypted to database
|
||||||
|
|
||||||
|
- **Settings Precedence System**: Clear resolution order with visual indicators
|
||||||
|
- Precedence: Database > Environment Variables > Defaults
|
||||||
|
- Color-coded badges in UI: 🟢 DB (green), 🔵 ENV (blue), ⚪ DEFAULT (gray)
|
||||||
|
- Source detection for each setting shows where value originates
|
||||||
|
- Info section explaining precedence order
|
||||||
|
|
||||||
|
- **OAuth Admin Support**: Enhanced authentication for settings access
|
||||||
|
- Admin flag set from OAuth group membership (`admin` or `administrators`)
|
||||||
|
- Proper decorator pattern for admin access control
|
||||||
|
- Session-based authorization with redirect on unauthorized access
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Updated `requirements.txt` to include `cryptography>=41.0.0` for encryption
|
||||||
|
- Enhanced settings service to auto-encrypt/decrypt sensitive values transparently
|
||||||
|
- Improved `/settings` route with proper admin decorator (fixes redirect loop)
|
||||||
|
- Updated settings template with enhanced UI: source badges, encryption indicators, show/hide toggles
|
||||||
|
- Modified `app/views/general.py` to redirect to wizard when setup required
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- Fixed `/settings` endpoint returning 301 redirect to `/` (converted to proper decorator)
|
||||||
|
- Resolved redirect loop for logged-in non-admin users
|
||||||
|
- Fixed OAuth users not receiving admin privileges from group membership
|
||||||
|
|
||||||
|
### Documentation
|
||||||
|
- Added [docs/SettingsManagement.md](docs/SettingsManagement.md) - Comprehensive user guide
|
||||||
|
- Added [SETTINGS_IMPLEMENTATION.md](SETTINGS_IMPLEMENTATION.md) - Technical documentation
|
||||||
|
- Added [FRAMEWORK_ANALYSIS.md](FRAMEWORK_ANALYSIS.md) - Research on existing frameworks
|
||||||
|
- Added [IMPLEMENTATION_CHECKLIST.md](IMPLEMENTATION_CHECKLIST.md) - Feature tracking
|
||||||
|
- Updated TODO.md with completed features
|
||||||
|
- Updated MILESTONES.md with release details
|
||||||
|
|
||||||
|
### Technical Details
|
||||||
|
- New files:
|
||||||
|
- `app/utils/encryption.py` - Fernet encryption utilities
|
||||||
|
- `app/utils/setup_wizard.py` - Wizard detection and logic
|
||||||
|
- `app/views/wizard.py` - Wizard routes (GET/POST /setup)
|
||||||
|
- `frontend/templates/setup_wizard.html` - Wizard UI
|
||||||
|
- `frontend/templates/settings.html` - Enhanced settings page
|
||||||
|
|
||||||
|
- Modified files:
|
||||||
|
- `app/utils/settings_service.py` - Encryption integration, 102 setting metadata
|
||||||
|
- `app/views/settings.py` - Fixed decorator, source detection
|
||||||
|
- `app/auth.py` - OAuth admin support
|
||||||
|
- `app/api/settings.py` - Enhanced admin checks
|
||||||
|
- `tests/test_settings.py` - Comprehensive test coverage
|
||||||
|
|
||||||
|
### Security
|
||||||
|
- Sensitive settings encrypted at rest in database using Fernet (AES-128-CBC + HMAC)
|
||||||
|
- Encryption key derived from `SESSION_SECRET` (minimum 32 characters required)
|
||||||
|
- Admin-only access enforced on all settings operations
|
||||||
|
- Visual masking of sensitive values in UI by default
|
||||||
|
- CodeQL security scan: 0 alerts
|
||||||
|
|
||||||
## [0.3.3] - 2026-02-08
|
## [0.3.3] - 2026-02-08
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
@@ -147,7 +232,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
|
|
||||||
## Version History Summary
|
## Version History Summary
|
||||||
|
|
||||||
- **v0.3.3** (2026-02-08): Settings management, encryption, setup wizard
|
- **v0.5.0** (2026-02-08): Settings management, encryption, setup wizard
|
||||||
|
- **v0.3.3** (2026-02-08): Drag-and-drop upload
|
||||||
- **v0.3.2** (2026-02-06): Security hardening, testing infrastructure
|
- **v0.3.2** (2026-02-06): Security hardening, testing infrastructure
|
||||||
- **v0.3.1** (2026-01-15): OAuth2 authentication
|
- **v0.3.1** (2026-01-15): OAuth2 authentication
|
||||||
- **v0.3.0** (2026-01-01): Multi-provider storage, OCR, metadata extraction
|
- **v0.3.0** (2026-01-01): Multi-provider storage, OCR, metadata extraction
|
||||||
|
|||||||
+76
-7
@@ -19,7 +19,7 @@ DocuElevate follows [Semantic Versioning 2.0.0](https://semver.org/):
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Current Release: v0.3.3 (February 2026)
|
## Current Release: v0.5.0 (February 2026)
|
||||||
|
|
||||||
### Status: Stable
|
### Status: Stable
|
||||||
- Production-ready document processing
|
- Production-ready document processing
|
||||||
@@ -34,6 +34,10 @@ DocuElevate follows [Semantic Versioning 2.0.0](https://semver.org/):
|
|||||||
|
|
||||||
## Previous Releases
|
## Previous Releases
|
||||||
|
|
||||||
|
### v0.3.3 (February 2026)
|
||||||
|
- Drag-and-drop file upload on Files page
|
||||||
|
- Enhanced upload UI and functionality
|
||||||
|
|
||||||
### v0.3.2 (February 2026)
|
### v0.3.2 (February 2026)
|
||||||
- Production-ready document processing
|
- Production-ready document processing
|
||||||
- Multi-provider storage support
|
- Multi-provider storage support
|
||||||
@@ -44,7 +48,71 @@ DocuElevate follows [Semantic Versioning 2.0.0](https://semver.org/):
|
|||||||
|
|
||||||
## Upcoming Milestones
|
## Upcoming Milestones
|
||||||
|
|
||||||
### v0.3.3 - Security & Testing Hardening (February 2026)
|
### v0.5.0 - Settings Management & Configuration (February 2026)
|
||||||
|
**Target Date:** February 15, 2026
|
||||||
|
**Release Date:** February 8, 2026
|
||||||
|
**Status:** ✅ Released
|
||||||
|
**Theme:** Configuration Management, Security, User Experience
|
||||||
|
|
||||||
|
#### Goals
|
||||||
|
- [x] **Implement database-backed settings management**
|
||||||
|
- [x] **Add encryption for sensitive configuration**
|
||||||
|
- [x] **Create setup wizard for first-time installation**
|
||||||
|
- [x] Complete settings UI with admin access
|
||||||
|
- [x] Integrate with existing authentication system
|
||||||
|
|
||||||
|
#### Deliverables
|
||||||
|
- [x] **Settings management UI at /settings**
|
||||||
|
- [x] **Setup wizard at /setup**
|
||||||
|
- [x] **Fernet encryption for sensitive settings**
|
||||||
|
- [x] **Source indicators (DB/ENV/DEFAULT)**
|
||||||
|
- [x] **Complete settings documentation**
|
||||||
|
- [x] **Framework analysis (FRAMEWORK_ANALYSIS.md)**
|
||||||
|
- [x] REST API for settings management
|
||||||
|
- [x] Admin authentication and authorization
|
||||||
|
- [x] Comprehensive test coverage
|
||||||
|
|
||||||
|
#### New Features
|
||||||
|
- **Settings Management System**: Web-based admin UI for viewing and editing 102 application settings across 10 categories
|
||||||
|
- **Encryption**: Fernet symmetric encryption for sensitive values (passwords, API keys, tokens) with key derived from SESSION_SECRET
|
||||||
|
- **Setup Wizard**: 3-step wizard for first-time configuration (Infrastructure → Security → AI Services)
|
||||||
|
- **Precedence System**: Settings resolved in order: Database > Environment Variables > Defaults
|
||||||
|
- **Source Indicators**: Visual badges showing where each setting value originates (🟢 DB, 🔵 ENV, ⚪ DEFAULT)
|
||||||
|
- **Admin Access Control**: OAuth admin group support and proper decorator pattern for authorization
|
||||||
|
|
||||||
|
#### Technical Improvements
|
||||||
|
- Fixed /settings redirect loop issue
|
||||||
|
- Added cryptography>=41.0.0 dependency
|
||||||
|
- Created encryption utilities (app/utils/encryption.py)
|
||||||
|
- Implemented settings service with auto-encrypt/decrypt
|
||||||
|
- Built responsive wizard UI with progress indicators
|
||||||
|
- Comprehensive test coverage for settings functionality
|
||||||
|
|
||||||
|
#### Breaking Changes
|
||||||
|
- None
|
||||||
|
|
||||||
|
#### Migration Notes
|
||||||
|
- Setup wizard automatically appears for fresh installations
|
||||||
|
- Existing installations can skip wizard
|
||||||
|
- All settings remain backward compatible with environment variables
|
||||||
|
- Database settings override environment variables when present
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### v0.3.3 - Drag-and-Drop Upload (February 2026)
|
||||||
|
**Release Date:** February 8, 2026
|
||||||
|
**Status:** ✅ Released
|
||||||
|
**Theme:** User Experience Enhancement
|
||||||
|
|
||||||
|
#### Features
|
||||||
|
- Drag-and-drop file upload on Files page
|
||||||
|
- Visual drop overlay with animations
|
||||||
|
- Upload progress modal
|
||||||
|
- Shared upload JavaScript module
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### v0.3.2 - Security & Testing Hardening (February 2026)
|
||||||
**Target Date:** February 15, 2026
|
**Target Date:** February 15, 2026
|
||||||
**Release Date:** February 8, 2026
|
**Release Date:** February 8, 2026
|
||||||
**Status:** ✅ Released
|
**Status:** ✅ Released
|
||||||
@@ -105,7 +173,7 @@ DocuElevate follows [Semantic Versioning 2.0.0](https://semver.org/):
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### v0.4.0 - Enhanced Search & UI Improvements (April 2026)
|
### v0.6.0 - Enhanced Search & UI Improvements (April 2026)
|
||||||
**Target Date:** April 1, 2026
|
**Target Date:** April 1, 2026
|
||||||
**Status:** 📋 Planned
|
**Status:** 📋 Planned
|
||||||
**Theme:** User Experience, Search, Performance
|
**Theme:** User Experience, Search, Performance
|
||||||
@@ -162,7 +230,7 @@ DocuElevate follows [Semantic Versioning 2.0.0](https://semver.org/):
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### v0.5.0 - Advanced AI & Multi-language (August 2026)
|
### v0.7.0 - Advanced AI & Multi-language (August 2026)
|
||||||
**Target Date:** August 1, 2026
|
**Target Date:** August 1, 2026
|
||||||
**Status:** 📋 Planned
|
**Status:** 📋 Planned
|
||||||
**Theme:** AI Enhancement, Internationalization
|
**Theme:** AI Enhancement, Internationalization
|
||||||
@@ -345,9 +413,10 @@ This is our first major release, marking production-ready enterprise capabilitie
|
|||||||
| v0.2.0 | 2024-Q3 | Multi-provider Support | Released |
|
| v0.2.0 | 2024-Q3 | Multi-provider Support | Released |
|
||||||
| v0.3.0 | 2025-Q4 | UI & Authentication | Released |
|
| v0.3.0 | 2025-Q4 | UI & Authentication | Released |
|
||||||
| v0.3.2 | 2026-02-06 | Security Updates | Released |
|
| v0.3.2 | 2026-02-06 | Security Updates | Released |
|
||||||
| v0.3.3 | 2026-02-08 | **Current Stable** - Configuration Management | **Released** |
|
| v0.3.3 | 2026-02-08 | Drag-and-Drop Upload | Released |
|
||||||
| v0.4.0 | 2026-04 | Search & UX | Planned |
|
| v0.5.0 | 2026-02-08 | **Current Stable** - Settings Management | **Released** |
|
||||||
| v0.5.0 | 2026-08 | Advanced AI | Planned |
|
| v0.6.0 | 2026-04 | Search & UX | Planned |
|
||||||
|
| v0.7.0 | 2026-08 | Advanced AI | Planned |
|
||||||
| v1.0.0 | 2026-11 | Enterprise | Planned |
|
| v1.0.0 | 2026-11 | Enterprise | Planned |
|
||||||
| v2.0.0 | 2027-Q3 | Platform Expansion | Future |
|
| v2.0.0 | 2027-Q3 | Platform Expansion | Future |
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
DocuElevate aims to be the premier open-source intelligent document processing platform, providing seamless integration with cloud storage providers, advanced AI-powered metadata extraction, and enterprise-grade security and scalability.
|
DocuElevate aims to be the premier open-source intelligent document processing platform, providing seamless integration with cloud storage providers, advanced AI-powered metadata extraction, and enterprise-grade security and scalability.
|
||||||
|
|
||||||
## Current Status (v0.3.3)
|
## Current Status (v0.5.0)
|
||||||
|
|
||||||
### Core Features ✅
|
### Core Features ✅
|
||||||
- Multi-provider document storage (Dropbox, Google Drive, OneDrive, Nextcloud, S3, etc.)
|
- Multi-provider document storage (Dropbox, Google Drive, OneDrive, Nextcloud, S3, etc.)
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# DocuElevate TODO List
|
# DocuElevate TODO List
|
||||||
|
|
||||||
**Last Updated:** 2026-02-08
|
**Last Updated:** 2026-02-08
|
||||||
**Current Version:** v0.3.3
|
**Current Version:** v0.5.0
|
||||||
|
|
||||||
This document tracks actionable tasks for the current development cycle. For long-term planning, see [ROADMAP.md](ROADMAP.md) and [MILESTONES.md](MILESTONES.md).
|
This document tracks actionable tasks for the current development cycle. For long-term planning, see [ROADMAP.md](ROADMAP.md) and [MILESTONES.md](MILESTONES.md).
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -217,7 +217,7 @@ class Settings(BaseSettings):
|
|||||||
return f.read().strip()
|
return f.read().strip()
|
||||||
|
|
||||||
# Default version if not found
|
# Default version if not found
|
||||||
return "0.3.3-dev"
|
return "0.5.0-dev"
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def git_sha(self) -> str:
|
def git_sha(self) -> str:
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ The `app/config.py` Settings class provides these properties for accessing build
|
|||||||
Returns the application version with the following priority:
|
Returns the application version with the following priority:
|
||||||
1. `APP_VERSION` environment variable
|
1. `APP_VERSION` environment variable
|
||||||
2. Contents of `VERSION` file
|
2. Contents of `VERSION` file
|
||||||
3. Default: `"0.3.3-dev"`
|
3. Default: `"0.5.0-dev"`
|
||||||
|
|
||||||
### `settings.build_date` (property)
|
### `settings.build_date` (property)
|
||||||
Returns the build date with the following priority:
|
Returns the build date with the following priority:
|
||||||
|
|||||||
Reference in New Issue
Block a user