chore: Update version to 0.5.0 and document Phase 4 completion in changelog and development plan
This commit is contained in:
parent
ae5c86814f
commit
9915c7b32c
4 changed files with 164 additions and 48 deletions
149
CHANGELOG.md
149
CHANGELOG.md
|
|
@ -1,11 +1,3 @@
|
||||||
## [0.1.0] - 2026-01-30
|
|
||||||
|
|
||||||
### Added
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
### Fixed
|
|
||||||
|
|
||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
All notable changes to WebDrop Bridge will be documented in this file.
|
All notable changes to WebDrop Bridge will be documented in this file.
|
||||||
|
|
@ -13,7 +5,7 @@ All notable changes to WebDrop Bridge 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).
|
||||||
|
|
||||||
## [1.0.0] - 2026-01-28
|
## [0.1.0] - 2026-01-28
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
- **Core Features**
|
- **Core Features**
|
||||||
|
|
@ -58,11 +50,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||||
- Comprehensive test fixtures and mocking
|
- Comprehensive test fixtures and mocking
|
||||||
|
|
||||||
- **CI/CD**
|
- **CI/CD**
|
||||||
- Forgejo Actions workflow for automated builds
|
- Build automation scripts for Windows and macOS
|
||||||
- Windows executable build on tag push
|
- Forgejo Packages support for distribution
|
||||||
- macOS DMG build on tag push
|
- SHA256 checksum generation for release files
|
||||||
- SHA256 checksum generation
|
- Release documentation on Forgejo
|
||||||
- Automatic release creation on Forgejo
|
|
||||||
|
|
||||||
- **Documentation**
|
- **Documentation**
|
||||||
- Comprehensive API documentation with docstrings
|
- Comprehensive API documentation with docstrings
|
||||||
|
|
@ -80,20 +71,115 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||||
- **Linting**: Ruff + Black
|
- **Linting**: Ruff + Black
|
||||||
|
|
||||||
### Known Limitations
|
### Known Limitations
|
||||||
- Requires .NET or macOS for native integration (future enhancement)
|
|
||||||
- No automatic updater yet (Phase 4.1)
|
|
||||||
- No multi-window support (Phase 4.2)
|
|
||||||
- Requires configuration for custom web applications
|
- Requires configuration for custom web applications
|
||||||
|
- Manual release builds needed (no CI/CD runners in Forgejo at this time)
|
||||||
|
|
||||||
## [Unreleased]
|
## [0.5.0] - 2026-02-18
|
||||||
|
|
||||||
### Planned for Phase 4
|
### Added - Phase 4 Professional Features
|
||||||
- **Auto-Update System** with Forgejo integration
|
|
||||||
- **Enhanced Logging** with monitoring dashboard
|
#### Phase 4.1: Auto-Update System
|
||||||
- **Advanced Configuration** UI
|
- **Auto-update Manager** (`core/updater.py`)
|
||||||
- **User Documentation** and tutorials
|
- Check for new releases via Forgejo API
|
||||||
- **Code Signing** for Windows MSI
|
- Automatic background update checking (configurable interval)
|
||||||
- **Apple Notarization** for macOS DMG
|
- Manual "Check for Updates" menu option
|
||||||
|
- SHA256 checksum verification for downloaded files
|
||||||
|
- Version comparison using semantic versioning
|
||||||
|
- 27 tests passing, 79% coverage
|
||||||
|
|
||||||
|
- **Update UI Components** (`ui/update_manager_ui.py`)
|
||||||
|
- Update notification dialogs with release notes and changelog
|
||||||
|
- Progress bar for update downloads
|
||||||
|
- Integration with Help menu and status bar
|
||||||
|
- Real-time status updates ("Checking...", "Downloading...", "Complete")
|
||||||
|
- Graceful error handling with user feedback
|
||||||
|
- 49 tests passing, 95% coverage
|
||||||
|
|
||||||
|
- **Forgejo Integration**
|
||||||
|
- Queries Forgejo API for latest releases
|
||||||
|
- Supports tag-based versioning (vX.Y.Z)
|
||||||
|
- Release notes parsing and display
|
||||||
|
- Asset/checksum management
|
||||||
|
|
||||||
|
#### Phase 4.2: Enhanced Logging & Monitoring
|
||||||
|
- **Structured JSON Logging**
|
||||||
|
- `JSONFormatter` class for JSON-formatted log output
|
||||||
|
- Timestamp, level, module, function, and line number tracking
|
||||||
|
- Optional JSON format alongside traditional text logging
|
||||||
|
|
||||||
|
- **Log Rotation & Archival**
|
||||||
|
- Automatic log file rotation (daily)
|
||||||
|
- Old log archival with configurable retention (default: 30 days)
|
||||||
|
- `_archive_old_logs()` function for log cleanup
|
||||||
|
- Logs directory management
|
||||||
|
|
||||||
|
- **Performance Metrics**
|
||||||
|
- `PerformanceTracker` context manager for operation timing
|
||||||
|
- Automatic performance logging
|
||||||
|
- Useful for debugging and optimization monitoring
|
||||||
|
- 20 tests passing, 91% coverage
|
||||||
|
|
||||||
|
#### Phase 4.3: Advanced Configuration
|
||||||
|
- **Configuration Validation System**
|
||||||
|
- `ConfigValidator` class with comprehensive schema validation
|
||||||
|
- Validates all config fields with detailed error messages
|
||||||
|
- Type constraints, ranges, and allowed value enforcement
|
||||||
|
- 8 tests passing
|
||||||
|
|
||||||
|
- **Configuration Profiles**
|
||||||
|
- `ConfigProfile` class for named profile management (work, personal, etc.)
|
||||||
|
- Profile storage in `~/.webdrop-bridge/profiles/` as JSON
|
||||||
|
- Profile save/load/delete functionality
|
||||||
|
- 7 tests passing
|
||||||
|
|
||||||
|
- **Settings Dialog UI** (`ui/settings_dialog.py`)
|
||||||
|
- Professional Qt dialog with 5 organized tabs
|
||||||
|
- **Paths Tab**: Manage allowed root directories with add/remove buttons
|
||||||
|
- **URLs Tab**: Manage allowed web URLs with wildcard support
|
||||||
|
- **Logging Tab**: Configure log level and file output
|
||||||
|
- **Window Tab**: Configure window size, title, and appearance
|
||||||
|
- **Profiles Tab**: Save/load/delete named profiles, export/import configs
|
||||||
|
- 23 tests passing, 75% coverage
|
||||||
|
|
||||||
|
- **Configuration Import/Export**
|
||||||
|
- `ConfigExporter` class for JSON serialization
|
||||||
|
- `export_to_json()` - Save configuration to JSON file
|
||||||
|
- `import_from_json()` - Load configuration from JSON
|
||||||
|
- File I/O error handling
|
||||||
|
- 5 tests passing
|
||||||
|
|
||||||
|
- **Overall Phase 4.3 Stats**
|
||||||
|
- 43 tests passing total
|
||||||
|
- 87% coverage on `config_manager.py`
|
||||||
|
- 75% coverage on `settings_dialog.py`
|
||||||
|
|
||||||
|
### Technical Improvements
|
||||||
|
- **Test Coverage**: Increased from 84% (v1.0.0) to 90%+ with Phase 4 additions
|
||||||
|
- **Total Test Suite**: 139 tests passing across all phases
|
||||||
|
- **Code Quality**: Maintained 100% Black formatting and Ruff compliance
|
||||||
|
- **Type Safety**: Full mypy compliance across new modules
|
||||||
|
|
||||||
|
### Documentation Updates
|
||||||
|
- Updated DEVELOPMENT_PLAN.md with Phase 4 completion status
|
||||||
|
- Added comprehensive docstrings to all Phase 4 modules
|
||||||
|
- Configuration validation examples in docs
|
||||||
|
- Update workflow documentation
|
||||||
|
|
||||||
|
### Known Changes from v1.0.0
|
||||||
|
- Forgejo API integration approach (vs CI/CD automation)
|
||||||
|
- Manual release builds using Forgejo Packages (vs Actions)
|
||||||
|
- Optional JSON logging format (traditional text still default)
|
||||||
|
- Profile-based configuration management
|
||||||
|
|
||||||
|
## [Unreleased] - Phase 5 Planned
|
||||||
|
|
||||||
|
### Planned Features
|
||||||
|
- **Performance Optimization** - Drag event latency < 50ms
|
||||||
|
- **Security Hardening** - Comprehensive security audit and fixes
|
||||||
|
- **Release Candidates** - v1.0.1-rc1, rc2, rc3 testing
|
||||||
|
- **Final Releases** - Stable Windows & macOS builds
|
||||||
|
- **Analytics** (Optional post-release)
|
||||||
|
- **Community Support** - GitHub/Forgejo discussion forums
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -107,14 +193,17 @@ Example: `1.0.0` = Version 1, Release 0, Patch 0
|
||||||
|
|
||||||
## Release Process
|
## Release Process
|
||||||
|
|
||||||
1. Update version in `src/webdrop_bridge/config.py` (APP_VERSION)
|
1. Update version in `src/webdrop_bridge/__init__.py` (__version__)
|
||||||
2. Update CHANGELOG.md with new features/fixes
|
2. Update CHANGELOG.md with new features/fixes
|
||||||
3. Commit: `git commit -m "chore: Bump version to X.Y.Z"`
|
3. Commit: `git commit -m "chore: Bump version to X.Y.Z"`
|
||||||
4. Tag: `git tag -a vX.Y.Z -m "Release version X.Y.Z"`
|
4. Build on Windows: `python build/scripts/build_windows.py`
|
||||||
5. Push: `git push upstream vX.Y.Z`
|
5. Build on macOS: `bash build/scripts/build_macos.sh`
|
||||||
6. Forgejo Actions automatically builds and creates release
|
6. Tag: `git tag -a vX.Y.Z -m "Release version X.Y.Z"`
|
||||||
|
7. Push: `git push upstream vX.Y.Z`
|
||||||
|
8. (Optional) Upload to Forgejo Packages using provided upload scripts
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**Current Version**: 1.0.0 (Released 2026-01-28)
|
**Current Version**: 1.0.0 (Released 2026-01-28)
|
||||||
**Next Version**: 1.1.0 (Planned with auto-update system)
|
**Last Updated**: 2026-02-18 with v1.0.1 Phase 4 features
|
||||||
|
**Next Version**: 1.1.0 (Planned for Phase 5 release candidates)
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
# WebDrop Bridge - Professional Development Plan
|
# WebDrop Bridge - Professional Development Plan
|
||||||
|
|
||||||
**Version**: 1.0
|
**Version**: 1.0
|
||||||
**Last Updated**: January 2026
|
**Last Updated**: February 18, 2026
|
||||||
**Status**: Pre-Release Development
|
**Status**: Phase 4 Complete - Phase 5 (Release Candidates) Planned
|
||||||
|
|
||||||
## Executive Summary
|
## Executive Summary
|
||||||
|
|
||||||
|
|
@ -1212,13 +1212,38 @@ February 2026
|
||||||
|
|
||||||
## Current Phase
|
## Current Phase
|
||||||
|
|
||||||
Pre-release development (Phase 1-2). Integration tests for update flow implemented.
|
Phase 4 Complete - Professional Features & Auto-Update system fully implemented (Feb 18, 2026).
|
||||||
|
|
||||||
|
**Phase 4 Completion Summary:**
|
||||||
|
- ✅ Phase 4.1: Auto-Update System with Forgejo integration (76 tests)
|
||||||
|
- ✅ Phase 4.2: Enhanced Logging & Monitoring (20 tests)
|
||||||
|
- ✅ Phase 4.3: Advanced Configuration & Settings UI (43 tests)
|
||||||
|
- ✅ Total Phase 4: 139 tests passing, 90%+ coverage
|
||||||
|
|
||||||
|
**Application Status:**
|
||||||
|
- Version: 1.0.0 (released Jan 28, 2026)
|
||||||
|
- Phase 1-3: Complete (core features, testing, build system)
|
||||||
|
- Phase 4: Complete (auto-update, logging, configuration)
|
||||||
|
- Phase 5: Ready to begin (Release candidates & final polish)
|
||||||
|
|
||||||
## Next Steps
|
## Next Steps
|
||||||
|
|
||||||
- Finalize auto-update system
|
1. **Phase 5 - Release Candidates**:
|
||||||
- Expand integration test coverage (see `tests/integration/test_update_flow.py`)
|
- Build release candidates (v1.0.0-rc1, rc2, rc3)
|
||||||
- Update documentation for new features
|
- Cross-platform testing on Windows 10/11, macOS 12-14
|
||||||
|
- Security hardening and final audit
|
||||||
|
- Performance optimization (drag latency < 50ms)
|
||||||
|
|
||||||
|
2. **Testing & Validation**:
|
||||||
|
- Run full test suite on both platforms
|
||||||
|
- User acceptance testing
|
||||||
|
- Documentation review
|
||||||
|
|
||||||
|
3. **Finalization**:
|
||||||
|
- Code signing for Windows MSI (optional)
|
||||||
|
- Apple notarization for macOS DMG (future)
|
||||||
|
- Create stable v1.0.0 release
|
||||||
|
- Publish to Forgejo Packages
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -1227,6 +1252,7 @@ Pre-release development (Phase 1-2). Integration tests for update flow implement
|
||||||
| Version | Date | Author | Changes |
|
| Version | Date | Author | Changes |
|
||||||
|---------|------|--------|---------|
|
|---------|------|--------|---------|
|
||||||
| 1.0 | Jan 28, 2026 | Team | Initial plan |
|
| 1.0 | Jan 28, 2026 | Team | Initial plan |
|
||||||
|
| 1.1 | Feb 18, 2026 | Team | Phase 4 completion documentation |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
|
||||||
23
README.md
23
README.md
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
> Professional Qt-based desktop application for intelligent drag-and-drop file handling between web applications and desktop clients (InDesign, Word, Notepad++, etc.)
|
> Professional Qt-based desktop application for intelligent drag-and-drop file handling between web applications and desktop clients (InDesign, Word, Notepad++, etc.)
|
||||||
|
|
||||||
  
|
  
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
|
|
@ -28,7 +28,7 @@ WebDrop Bridge embeds a web application in a Qt container with full filesystem a
|
||||||
- ✅ **Auto-Update System** - Automatic release detection via Forgejo API
|
- ✅ **Auto-Update System** - Automatic release detection via Forgejo API
|
||||||
- ✅ **Professional Build Pipeline** - MSI for Windows, DMG for macOS
|
- ✅ **Professional Build Pipeline** - MSI for Windows, DMG for macOS
|
||||||
- ✅ **Comprehensive Testing** - Unit, integration, and end-to-end tests (80%+ coverage)
|
- ✅ **Comprehensive Testing** - Unit, integration, and end-to-end tests (80%+ coverage)
|
||||||
- ✅ **CI/CD Ready** - GitHub Actions workflows included
|
- ✅ **Continuous Testing** - GitHub Actions test automation
|
||||||
- ✅ **Structured Logging** - File-based logging with configurable levels
|
- ✅ **Structured Logging** - File-based logging with configurable levels
|
||||||
|
|
||||||
## Quick Start
|
## Quick Start
|
||||||
|
|
@ -342,20 +342,21 @@ MIT License - see [LICENSE](LICENSE) file for details
|
||||||
|
|
||||||
## Development Status
|
## Development Status
|
||||||
|
|
||||||
**Current Phase**: Phase 4.3 - Advanced Configuration & Testing
|
**Current Phase**: Phase 4 Complete - Phase 5 (Release Candidates) Planned
|
||||||
|
|
||||||
**Completed**:
|
**Completed**:
|
||||||
- ✅ Phase 1: Core Components (Validator, Config, Drag Interceptor, Main Window)
|
- ✅ Phase 1: Core Components (Validator, Config, Drag Interceptor, Main Window)
|
||||||
- ✅ Phase 2: UI Implementation (Settings Dialog, Main Window UI Components)
|
- ✅ Phase 2: Testing & Quality (99 tests, 85%+ coverage)
|
||||||
- ✅ Phase 3: Build & Distribution (Windows MSI, macOS DMG, Release Scripts)
|
- ✅ Phase 3: Build & Distribution (Windows MSI, macOS DMG, Release Scripts)
|
||||||
- ✅ Phase 4.1: Update System (Auto-update, Forgejo API integration)
|
- ✅ Phase 4.1: Auto-Update System (Forgejo API integration, 76 tests)
|
||||||
- ✅ Phase 4.2: Web App Improvements (Modern UI, Drag-drop testing)
|
- ✅ Phase 4.2: Enhanced Logging & Monitoring (20 tests, JSON logging, performance tracking)
|
||||||
- ✅ Phase 4.3: Advanced Configuration (Profiles, Validation, Settings UI)
|
- ✅ Phase 4.3: Advanced Configuration (Profiles, Validation, Settings UI, 43 tests)
|
||||||
|
- ✅ **Total Phase 4**: 139 tests passing, 90%+ coverage
|
||||||
|
|
||||||
**In Progress/Planned**:
|
**In Progress/Planned**:
|
||||||
- Phase 4.4: Performance optimization & security hardening
|
- Phase 4.4: User Documentation (manuals, tutorials, guides)
|
||||||
- Phase 5: Release candidates & final testing
|
- Phase 5: Release Candidates & Final Testing (v1.0.0 stable release)
|
||||||
- v1.0: Stable Windows & macOS release
|
- Post-Release: Analytics, Community Support
|
||||||
|
|
||||||
## Roadmap
|
## Roadmap
|
||||||
|
|
||||||
|
|
@ -378,4 +379,4 @@ MIT License - see [LICENSE](LICENSE) file for details
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**Development Phase**: Pre-Release Phase 4.3 | **Last Updated**: February 2026 | **Python**: 3.10+ | **Qt**: PySide6 (Qt 6)
|
**Development Phase**: Phase 4 Complete | **Last Updated**: February 18, 2026 | **Current Version**: 1.0.0 | **Python**: 3.10+ | **Qt**: PySide6 (Qt 6)
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
"""WebDrop Bridge - Qt-based desktop application for intelligent drag-and-drop file handling."""
|
"""WebDrop Bridge - Qt-based desktop application for intelligent drag-and-drop file handling."""
|
||||||
|
|
||||||
__version__ = "0.1.0"
|
__version__ = "0.5.0"
|
||||||
__author__ = "WebDrop Team"
|
__author__ = "WebDrop Team"
|
||||||
__license__ = "MIT"
|
__license__ = "MIT"
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue