Skip to content

CraftCloud v2.8.1

Latest

Choose a tag to compare

@ydtg1993 ydtg1993 released this 07 Jul 18:53

What's New in v2.8.1

πŸš€ CI/CD & Build System

  • GitHub Actions CI/CD: New cross-platform build workflow β€” automated testing on Python 3.10/3.11/3.12 (ubuntu), PyInstaller packaging on Windows, macOS, and Linux, with per-platform artifact uploads.
  • Local Build Script: Added scripts/build.sh for reproducible local builds with auto-download of platform-specific ffmpeg binaries.
  • Platform FFmpeg: ffmpeg is now downloaded per-platform at build time instead of bundling a Windows binary β€” leaner repo, faster clones.

πŸ”’ Security

  • Config Separation: Removed config.yaml from version control β€” local credentials and settings are no longer tracked by git.
  • Single Instance Lock: Native single-instance enforcement prevents accidental duplicate launches and session conflicts.

⚑ Core Engine Improvements

  • Task Manager Refactoring: New core/task_types.py with unified task definitions (Task, TaskSignals), cross-thread InfoBar communication, better worker thread lifecycle management, and a dedicated Task Queue UI page.
  • Telegram Uploader Refactoring: Streamlined upload pipeline with improved error handling, retry logic, and chunked upload support for large files.
  • Drag & Drop Support: New drag service β€” drag files and folders directly into the app to upload.

πŸ”„ Sync Engine Overhaul

  • Modular Sync Architecture: Refactored services/sync/ into dedicated modules β€” base_sync_task.py, directory_sync_task.py, file_sync_task.py, strategies.py, and scheduler.py.
  • Smarter Sync: Improved directory comparison with hash-based file deduplication, rename/move detection (avoids re-uploading moved files), and sorted depth-first directory creation for reliable nested folder sync.
  • Sync Dashboard: New per-folder sync status cards with real-time progress bars, detailed file/size counts, and status indicators.

🎬 Media & Preview

  • Enhanced Preview Flyout: Now supports video playback (Qt Multimedia), audio playback with seek controls, image preview with zoom, and a 100MB preview size limit for performance.
  • File Icons: New file type icon system provides visual indicators across the UI.

🎨 UI & UX

  • Task Queue Page: New dedicated page for monitoring all background operations (uploads, downloads, syncs) with real-time progress.
  • About Page: New polished about page with app info, developer details, core features showcase, license, and open-source acknowledgments.
  • File View Stack: Switch between list and grid views, with search result highlighting support.
  • Improved Login: Better QR code login flow, session validation, and error recovery.
  • Cross-Thread Notifications: InfoBar messages from worker threads are now safely marshalled to the main thread, eliminating UI glitches during background operations.

🌍 Internationalization

  • i18n Generator: Updated scripts/gen_i18n.py with improved translation workflow and multi-language TS/QM compilation.
  • Translation Coverage: Full UI translation support across 6 languages (zh_CN, English, German, French, Russian, Korean).

πŸ“¦ Packaging

  • Inno Setup Installer: Updated setup.iss for Windows installer with proper startup task handling and clean install/uninstall experience.
  • PyInstaller Spec: New CraftCloud.spec with optimized hidden imports, data file collection, and platform-specific binaries.

πŸ“ Documentation

  • Updated docs/readme.md and docs/readme-CH.md with latest features, build instructions, and project roadmap.

🧹 Code Quality

  • Removed deprecated modules (breadcrumb_widget.py, icon_utils.py, sync_operation_strategy.py, sync_utils.py) merged into the new architecture.
  • Database repository layer refactored for consistency and performance.
  • pkg_resources compatibility stub for setuptools >= 82.

Full Changelog: v2.7.7...v2.8.1