webdrop-bridge/CHANGELOG.md

3.7 KiB

[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, and this project adheres to Semantic Versioning.

[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)