Releases: BYTEDz/PCLink
Release list
Release v4.4.0
Added
- Bounded logging system for extensions with retrieval and clearing mechanisms.
- SDK theme options for font scaling, shadows, layout density, and safe-area margins.
- Custom dialog overlays substituting native browser alerts, confirmations, and prompt inputs.
- Floating UI back-navigation button linked to history availability.
- Star history visualization.
Changed
- Extension installation states are now initialized prior to launching background tasks to avoid race conditions.
Improved
- Existing load failures are cleared upon successful extension re-installation.
Release v4.3.0
Added
- Secure file-sharing capability with support for temporary and permanent share tokens.
- A "Share Links" management tab in the Web UI to list active links, copy download URLs, and revoke access.
- Live countdown timers in the Web UI for expiring links.
- Database persistence for tracking generated share tokens and their expiration states.
PCLink 4.2.1
Added
- Real-time desktop streaming preview powered by the native FerrumCast GStreamer engine with WebRTC and RTP support.
- Interactive system diagnostics tool within the control panel to analyze platform support for screen capture, display servers, and hardware encoders.
- Comprehensive Macro management dashboard to create, edit, run, duplicate, and delete automated task chains with JSON persistence.
- Modern side details panel for devices and files with full expand and fullscreen toggles.
- Jinja2 templating system for dynamic page rendering.
Changed
- Modularized the monolithic Web UI frontend scripts into dedicated files for core utilities, device fleet, macros, phone operations, and desktop streaming.
- Updated Linux package definitions to dynamically reference modular system and GStreamer dependencies.
- Migrated blocking system command execution, local file operations, and terminal shell interfaces to asynchronous thread pools.
Improved
- Refactored file downloader to utilize fast, native system file responses.
- Re-optimized input rate limiter to leverage clock-resilient monotonic timing and highly efficient queue manipulations.
Fixed
- Patched potential file upload memory exhaustion vulnerabilities by enforcing strict buffer ceilings.
- Resolved authentication bypass vectors by strictly validating WebSocket terminal connections and verifying API credentials prior to upgrades.
- Prevented path traversal vulnerabilities by enforcing strict UUID formats on transfers and doubly validating file browser execution targets.
Release v4.1.1
WebSocket
- Removed WebSocket heartbeat timeout and simplified connection management logic
Release v4.1.0
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
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_middlewarethat 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 bansystem 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-committo v4.6.0 and fully migrated fromflake8/isort/autoflaketo Ruff for high-performance linting and formatting. - Extension Hot-Loading: Added
extension_runtime_middlewareto 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
StartupManagerclass 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.loghook 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.pyin 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.tomldependencies. - Switched to a more consistent naming convention for build artifacts.
- Removed legacy
api_keyandportfiles; settings are now exclusively managed through the consolidatedconfig.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
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,
.desktopentry, andmanpages 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
🚀 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
libnotifyandnotify-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
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
🚀 v3.4.0 Release Notes
✨ New Features & Improvements
🖥 Terminal & Input Enhancements
- Set
TERMenvironment variable toxterm-256colorfor improved terminal compatibility. - Added support for client-specified shells on Unix systems, with improved compatibility for
cmdas the default. - Implemented Wayland-compatible input control using
evdevanduinput, 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_idin system information and API responses for better identification and debugging.