webdrop-bridge/CHANGELOG.md
claudi 00b4c55612 feat: Add Forgejo CI/CD pipeline for automated builds and releases
- Create .forgejo/workflows/build.yml for automated Windows and macOS builds
- Trigger on version tags (v1.0.0, v1.0.1, etc.) or manual dispatch
- Windows job builds executable with PyInstaller
- macOS job builds DMG package
- Automatically generate SHA256 checksums for verification
- Create release on Forgejo with all artifacts
- Add FORGEJO_CI_CD_SETUP.md with complete setup guide
- Add CHANGELOG.md for version tracking
- Update DEVELOPMENT_PLAN.md with Phase 3.3 details

This enables:
- Centralized release hub on Forgejo
- Automatic distribution of builds
- Foundation for Phase 4.1 auto-update system
- Checksum-based integrity verification
2026-01-28 13:14:41 +01:00

3.6 KiB

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)