Skip to content

Releases: BYTEDz/PCLink

Release v4.1.1

16 Apr 04:42

Choose a tag to compare

WebSocket

  • Removed WebSocket heartbeat timeout and simplified connection management logic

Release v4.1.0

16 Apr 03:32

Choose a tag to compare

Added

  • Batch renaming functionality with conflict detection and circular dependency resolution.
  • Predefined keyboard shortcut selections and modifier support for macros.
  • Support for meta, super, and menu keys across input services.
  • Configuration option for bridge settings in the server dashboard.

Improved

  • Performance of large-scale file operations including deletion and moving.
  • WebSocket connection stability and stale session management.
  • Service discovery reliability during network interface changes or system wake.
  • Extension system stability with better dependency isolation and thorough module cleanup.
  • Loading speed for extension metadata via in-memory caching.
  • Documentation readability and visual formatting.

Release v4.0.0

23 Mar 14:15

Choose a tag to compare

PCLink 4.0.0 — Codename “Cortex”

⚠️ IMPORTANT: BREAKING CHANGES

This is a breaking version. Because of the massive structural changes in how the server manages configuration, permissions, and routing, a Factory Reset is highly recommended for a clean, stable start.

Please ensure you back up any critical configuration or data before updating, as this reset will clear old settings and re-initialize your server identity.

This release, “Cortex”, represents a massive architectural refactor. We have moved toward a modular, scalable router architecture and introduced granular permission management, headless pairing capabilities, and a safer, more robust server lifecycle.

🧠 Architectural Overhaul (The “Cortex” Core)

  • Modular Router Architecture: The API has been reorganized into discrete routers/ (e.g., auth, devices, pairing, transfers, websocket_routes), significantly improving maintainability and startup speed.
  • Permission Middleware: Introduced a powerful service_enforcement_middleware that handles global "kill switches" and device-specific permission checks dynamically, preventing unauthorized access at the gateway level.
  • Websocket Manager: Centralized WebSocket lifecycle management for both Mobile and Web UI clients into a robust ws_manager.
  • Headless Device Management: Added dedicated CLI commands (pclink device ...) to list, revoke, ban, and assign roles to paired devices without needing the Web UI.

🚀 New Features

  • Headless Pairing: You can now manage pairing requests directly from the CLI or via the pairing/ router API, perfect for headless/server-only deployments.
  • Permission Roles: Added predefined roles (admin, viewer, media, remote, none) for bulk device permission assignment.
  • Hardware Blacklisting: Added a new device ban system to permanently block hardware IDs from re-pairing to your server.
  • Factory Reset: Added a secure, local-only Factory Reset feature via the Web UI to completely purge server data, auth credentials, and extensions when starting fresh.
  • Headless-Friendly Notification Handlers: Improved notification dispatch for Linux/Windows to ensure trays and native toasts work reliably in background service contexts.

🛠 Improvements & Infrastructure

  • Dependency Migration: Upgraded pre-commit to v4.6.0 and fully migrated from flake8/isort/autoflake to Ruff for high-performance linting and formatting.
  • Extension Hot-Loading: Added extension_runtime_middleware to allow hot-loading extensions on-demand if the manifest is found, without restarting the server.
  • Terminal Stability: Refactored terminal service logic into a dedicated router for better reliability.
  • Robust Startup: Added a StartupManager class to handle cross-platform boot persistence more reliably than legacy systemd scripts.
  • Pathing: Standardized path management for configuration and data files to prevent cross-platform issues.

🐛 Bug Fixes & Refactors

  • Session Restoration: Fixed issues with transfer session recovery on startup; sessions now properly cleanup after a configurable threshold.
  • XML Parsing: Fixed WebDAV-related XML parsing issues for more reliable phone file browsing.
  • Logging: Introduced a fatal.log hook to catch and persist crash traces in the config directory, aiding in debugging background service failures.
  • DPI Awareness: Added explicit DPI awareness settings for Windows to prevent blurry UI on high-resolution displays.
  • Cleanup: Removed controller.py in favor of more direct, granular service interactions.
  • Security: Enforced local-only constraints for destructive operations like the Factory Reset to ensure the security of the host machine.

📦 Maintenance

  • Updated pyproject.toml dependencies.
  • Switched to a more consistent naming convention for build artifacts.
  • Removed legacy api_key and port files; settings are now exclusively managed through the consolidated config.json.

Note: Since version 4.0.0 introduces breaking changes, a Factory Reset is highly encouraged to ensure your server configuration is clean and compatible. Ensure your mobile app is updated to match your server version to maintain full feature compatibility.

Release v3.6.0

11 Mar 13:03

Choose a tag to compare

This release marks a significant milestone in security and system integration. We’ve introduced a hardened permission architecture, native Linux desktop support, and critical security patches to ensure a more robust and professional environment.

⚠️ BREAKING CHANGE: This version updates the API architecture to a permission-based system. Existing device sessions may need to be re-authenticated, and the master API key can now be rotated to revoke all active sessions.


🚀 Added

  • Power Management Wrapper: New sudoers configuration and wrapper for Linux, enabling remote power actions (Reboot/Shutdown).
  • Linux Desktop Integration: Added official icons, .desktop entry, and man pages for a native OS experience.
  • Global Permission Middleware: Integrated a new enforcement layer for all API services to improve security.
  • Per-Device Management: Fine-grained control over which devices have access to specific system functions.
  • Master Key Rotation: Added the ability to regenerate the master API key, instantly revoking all existing device sessions.
  • Web UI Themes: Support for custom themes in the Web interface.
  • Linux Auto-Installer: A new automated script to simplify the setup process on Linux environments.
  • 📦 Arch Linux Support: Now available on the AUR, maintained by Mark Wagie. Install with yay -S pclink.

🔄 Changed

  • Architecture Refactor: Updated the API versioning to support the new permission-based handshake.
  • PKGBUILD Enhancements: Refactored for Arch Linux to include comprehensive system dependencies and service integration.
  • WebDAV Improvements: Faster file browsing with automated JSON mapping for directory trees.
  • UI Modernization: Significant refactor of the Web UI for improved component structure and a modernized look.
  • Dependency Updates: Refreshed third-party notices and core dependencies.

🛡️ Fixed

  • Security Patch: Resolved a potential directory traversal vulnerability during extension extraction.
  • Logic Fix: Fixed an issue where duplicate device pairings could occur under specific network conditions.

🗑️ Removed

  • WinGet Workflow: The automated WinGet publication workflow has been retired.

📦 Installation & Update

For a seamless setup or update on Linux, you can now use our new Automated Installer. This script handles dependency checks, service integration, and environment configuration automatically:

bash <(curl -fsSL https://raw.githubusercontent.com/BYTEDz/PCLink/main/install.sh)

Full Changelog: v3.5.0...v3.6.0

Release v3.5.0

06 Mar 00:46

Choose a tag to compare

🚀 v3.5.0 Release Notes

✨ New Features & Improvements

🐧 Linux Support Enhancements

  • Added multi-architecture Linux packages (ARM64 and AMD64) for broader compatibility.
  • Implemented native Linux notifications using libnotify and notify-send.
  • Added Arch Linux packaging support via PKGBUILD.

🧩 Extension & System Improvements

  • Added architecture and distribution compatibility validation for extensions.
  • Expanded system information reporting to include kernel version, distribution, and architecture.
  • Implemented automatic detection and flagging of GitHub pre-releases.

⚡ Stability & Background Execution

  • Improved Windows background execution using windowless processes to prevent console flashes.
  • Enhanced extension loading stability with retry cooldowns and optimized system file limits.
  • Improved Linux system tray reliability with automatic headless environment detection.
  • Enhanced Windows Task Scheduler integration for automatic background startup.

🐛 Bug Fixes

  • Fixed resource exhaustion errors when extensions attempted to use system selectors under heavy load.
  • Fixed potential crashes on headless Linux systems during system tray initialization.

🧹 Cleanup

  • Removed the initial connection status message from terminal sessions.

Release v3.5.0-beta.4

04 Mar 23:40

Choose a tag to compare

Release v3.5.0-beta.4 Pre-release
Pre-release

Added

  • Windows service functionality and Arch Linux package support.
  • Support for Wayland-based input control and native Linux notifications.
  • Mobile-optimized file explorer for browsing and managing phone storage.
  • Dynamic extension system featuring dashboard widgets and compatibility validation.
  • Heartbeat and status monitoring API endpoints.
  • Concurrent chunk uploads and resumable file transfer sessions.
  • Multi-architecture build support for Linux distributions.

Improved

  • System tray reliability on headless Linux environments.
  • Web interface with responsive navigation, toast notifications, and update alerts.
  • Windows hardware monitoring efficiency and audio device management.
  • Terminal service performance with full color support and custom shell selection.
  • File transfer performance through optimized buffering and parallel processing.

Fixed

  • Issues with file downloads and notification settings in the web interface.
  • Threading stability for volume control on Windows systems.
  • Connectivity and discovery errors on specific network interfaces.

Removed

  • Automatic connection messages in terminal sessions to reduce clutter.

Release v3.4.0

15 Feb 21:03

Choose a tag to compare

🚀 v3.4.0 Release Notes

✨ New Features & Improvements

🖥 Terminal & Input Enhancements

  • Set TERM environment variable to xterm-256color for improved terminal compatibility.
  • Added support for client-specified shells on Unix systems, with improved compatibility for cmd as the default.
  • Implemented Wayland-compatible input control using evdev and uinput, with automatic fallback to X11 (pynput) where needed.

📱 Phone File Explorer (Web UI)

  • Introduced a new Phone File Explorer to browse and manage mobile device storage.
  • Added path breadcrumbs and folder history navigation.
  • File upload support with visual progress indicators.
  • Bulk file operations (download/delete multiple files at once).
  • Search and sorting options for easier file management.
  • Device selection support for managing multiple connected phones.
  • Connection status alerts and read-only mode indicators.

🛠 System & API Updates

  • Exposed server_id in system information and API responses for better identification and debugging.

Release v3.3.1

09 Feb 18:44

Choose a tag to compare

Improved

  • Optimized temperature monitoring on Windows to reduce system overhead.
  • Enhanced compatibility with third-party hardware monitoring tools for better temperature detection.

Release v3.3.0

09 Feb 15:52

Choose a tag to compare

Added

  • Service Center: New Web UI component for granular control of application features.
  • Health Monitoring: Heartbeat and ping API endpoints for service monitoring.
  • API Middleware: Enforces permissions by blocking access to disabled services.
  • Command Deduplication: Logic to prevent accidental duplicate executions.
  • Notifications: Native Windows notification support.

Improved

  • Windows Performance: Cached thermal data to reduce PowerShell overhead.
  • User Experience: Background subprocess windows are now hidden during shell detection.
  • Audio Reliability: Improved volume control and audio device enumeration on Windows.
  • Network Stability: Enhanced discovery reliability when encountering unreachable interfaces.
  • Compatibility: Console logging support for environments without UTF-8.
  • Data Reporting: Improved performance metrics for active file transfers.

Security

  • Terminal Access: Now disabled by default.
  • Access Control: Implemented service-level access control for API endpoints, WebSockets, and broadcast updates.

Changed

  • Windows Architecture: Replaced monolithic Windows SDK dependency with modular WinRT libraries.
  • Session Management: Refactored transfer sessions to include automated cleanup of stale files.

Release v3.2.0

06 Jan 14:33

Choose a tag to compare

SECTION: Added

  • 🚀 Introducing the Extension System: Our most ambitious update yet! We have completely re-engineered the core to support a modular architecture. This new system allows for dynamic feature loading and management, transforming the application into a versatile platform that can grow and adapt to your specific needs without bloating the core engine.
  • Integrated a new Extension System for dynamic feature loading and management.
  • Dual-licensed the project under AGPL-3.0 and PCLink Commercial License.
  • Added native media control support for Linux (via playerctl) and macOS (via AppleScript).
  • Implemented hardware ID tracking for devices to improve pairing reliability and duplicate detection.
  • Added thermal monitoring (CPU/GPU) for Windows using WMI and third-party sensor hooks.
  • Added VBScript-based windowless startup for Windows to ensure silent background operation.

SECTION: Changed

  • Refactored Linux packaging (NFPM) scripts to use a "Safe Mode" approach with improved logging and error handling.
  • Enhanced Windows media control with targeted WM_APPCOMMAND messages for legacy players (e.g., VLC).
  • Improved Windows startup logic to utilize Task Scheduler and Registry persistence.
  • Revamped the Web UI to support pending pairing request management and extension configuration.
  • Unified application data storage, moving transfers and logs into the platform-specific AppData directory.

SECTION: Fixed

  • Implemented a heuristic "sticky" state for media playback to prevent UI flickering during metadata transitions.
  • Improved broadcast address discovery on Windows to handle psutil limitations.
  • Fixed systemd service file generation with proper Exec and WorkingDir placeholders.

SECTION: Performance

  • Added caching for MAC address probing to reduce system call overhead.
  • Optimized network I/O speed calculation and disk usage reporting.

SECTION: Security

  • Added middleware to enforce global and per-extension safety permissions.
  • Implemented explicit device revocation that purges active WebSocket connections and discovery caches.

SECTION: Notes

  • Existing user data from legacy directories (.pclink_uploads/.pclink_downloads) is automatically migrated to the new unified AppData location.