120 lines
3.7 KiB
Markdown
120 lines
3.7 KiB
Markdown
## [0.1.0] - 2026-01-30
|
|
|
|
### Added
|
|
|
|
### Changed
|
|
|
|
### Fixed
|
|
|
|
# Changelog
|
|
|
|
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/),
|
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
|
## [1.0.0] - 2026-01-28
|
|
|
|
### Added
|
|
- **Core Features**
|
|
- Qt6-based desktop application for web-to-file drag-and-drop
|
|
- PySide6 integration with WebEngine for embedded browser
|
|
- Path validation and security with whitelist-based access control
|
|
- Drag-and-drop event interception and handling
|
|
- Real-time drag state monitoring
|
|
|
|
- **UI/UX**
|
|
- Professional main window with toolbar navigation
|
|
- Restricted web view with URL whitelist enforcement
|
|
- Kiosk-mode support (restricted browsing)
|
|
- Beautiful default welcome page for unconfigured instances
|
|
- Responsive layout with proper window management
|
|
|
|
- **Configuration**
|
|
- Environment-based configuration system (.env file support)
|
|
- Configurable allowed root directories for file access
|
|
- URL whitelist with wildcard support (*.example.com)
|
|
- Window size and appearance settings
|
|
- Logging level and output control
|
|
|
|
- **Logging & Monitoring**
|
|
- Structured logging with INFO, DEBUG, ERROR levels
|
|
- Optional file-based logging
|
|
- Comprehensive error messages and diagnostics
|
|
- Application startup and shutdown logging
|
|
|
|
- **Build & Distribution**
|
|
- PyInstaller configuration for Windows and macOS
|
|
- Standalone executable generation (195.7 MB for Windows)
|
|
- Dependency bundling (PySide6, Qt6, Chromium)
|
|
- Resource embedding (webapp, icons, stylesheets)
|
|
- Cross-platform support (Windows .exe, macOS .dmg)
|
|
|
|
- **Testing & Quality**
|
|
- 99 unit and integration tests
|
|
- 84% code coverage
|
|
- Ruff linting and Black code formatting
|
|
- mypy type checking
|
|
- Comprehensive test fixtures and mocking
|
|
|
|
- **CI/CD**
|
|
- Forgejo Actions workflow for automated builds
|
|
- Windows executable build on tag push
|
|
- macOS DMG build on tag push
|
|
- SHA256 checksum generation
|
|
- Automatic release creation on Forgejo
|
|
|
|
- **Documentation**
|
|
- Comprehensive API documentation with docstrings
|
|
- Architecture documentation (ARCHITECTURE.md)
|
|
- Development plan (DEVELOPMENT_PLAN.md)
|
|
- Setup and quickstart guides
|
|
- Contributing guidelines
|
|
|
|
### Technical Details
|
|
- **Language**: Python 3.13
|
|
- **Framework**: PySide6 6.10.1 (Qt6)
|
|
- **Web Engine**: Qt6 WebEngine with Chromium
|
|
- **Build Tool**: PyInstaller 6.18.0
|
|
- **Testing**: pytest with coverage
|
|
- **Linting**: Ruff + Black
|
|
|
|
### 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
|
|
|
|
## [Unreleased]
|
|
|
|
### Planned for Phase 4
|
|
- **Auto-Update System** with Forgejo integration
|
|
- **Enhanced Logging** with monitoring dashboard
|
|
- **Advanced Configuration** UI
|
|
- **User Documentation** and tutorials
|
|
- **Code Signing** for Windows MSI
|
|
- **Apple Notarization** for macOS DMG
|
|
|
|
---
|
|
|
|
## Version Numbering
|
|
|
|
- **MAJOR**: Significant feature additions or breaking changes
|
|
- **MINOR**: New features, backward compatible
|
|
- **PATCH**: Bug fixes, improvements
|
|
|
|
Example: `1.0.0` = Version 1, Release 0, Patch 0
|
|
|
|
## Release Process
|
|
|
|
1. Update version in `src/webdrop_bridge/config.py` (APP_VERSION)
|
|
2. Update CHANGELOG.md with new features/fixes
|
|
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"`
|
|
5. Push: `git push upstream vX.Y.Z`
|
|
6. Forgejo Actions automatically builds and creates release
|
|
|
|
---
|
|
|
|
**Current Version**: 1.0.0 (Released 2026-01-28)
|
|
**Next Version**: 1.1.0 (Planned with auto-update system)
|