# Changelog All notable changes to the Unified Farm Launcher project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] ### Added - README documentation - CHANGELOG file ## [0.0.1] - 2025-11-21 ### Added - **Avalonia Desktop Application**: Complete migration from PowerShell scripts to a cross-platform desktop application - **Worker Management UI**: Graphical interface for managing multiple remote workers - **Multi-Worker Type Support**: Unified interface supporting both SheepIt and Flamenco worker types - **Worker Configuration Management**: Add, edit, and delete worker configurations through the UI - **Worker Filtering**: Filter workers by type (All, SheepIt, Flamenco) using tab controls - **Remote Worker Controller**: PowerShell-based controller script deployed to remote machines for process management - **Worker Lifecycle Management**: Start, stop, and monitor worker processes remotely - **Log Attachment Service**: Real-time log viewing by attaching to remote worker processes - **SSH Service**: Secure remote communication with worker machines - **Configuration Persistence**: JSON-based configuration stored in `%LocalAppData%\UnifiedFarmLauncher\workers.json` - **Worker Status Tracking**: Metadata tracking for worker state, PIDs, restart counts, and exit codes - **Automatic Restart Logic**: Configurable restart attempts with delay for failed workers - **Command Queue System**: File-based command queue for remote worker control - **Embedded PowerShell Scripts**: Controller and attach helper scripts embedded as resources ### Changed - **Architecture**: Migrated from standalone PowerShell scripts to structured C# application with MVVM pattern - **Payload Handling**: Switched from command-line argument passing to file-based payload storage to avoid Windows command-line length limits - **Worker Process Management**: Implemented controller-based architecture for better process lifecycle management - **Logging System**: Enhanced logging with timestamped, prefixed log entries (CTRL, OUT, ERR) - **SheepIt Integration**: Updated to use JAR file downloads with fallback URLs instead of executable-based approach ### Fixed - **Command-Line Length Limits**: Resolved issues with large payloads exceeding Windows command-line argument limits by using file-based payload storage - **Worker Process Startup**: Fixed issues with worker processes not starting properly on remote machines - **SSH Connection Failures**: Improved SSH connection handling and error reporting - **Log Output Capture**: Fixed missing worker output in logs by properly redirecting stdout/stderr - **Controller Deployment**: Ensured controller script is properly deployed and executed on remote machines - **Process Monitoring**: Improved worker process status tracking and metadata updates ### Technical Details - **Framework**: .NET 8.0 with Avalonia UI 11.0.0 - **Architecture**: MVVM pattern with ReactiveUI - **Remote Execution**: PowerShell scripts executed via SSH - **Data Storage**: JSON configuration with file-based state management on remote machines - **Logging**: File-based logging with real-time streaming support ## [Pre-1.0.0] - Historical Development ### 2025-11-21 - Fixed SheepIt worker incompatibility issues - Resolved command-line argument size limitations - Improved payload resolution and file-based storage ### 2025-11-21 - Fixed SSH connection issues and worker failures - Improved error handling for remote command execution ### 2025-11-06 - Updated path structure for renders ### 2025-11-03 - Created unified SheepIt launcher script - Added support for SheepIt worker type alongside Flamenco ### 2025-08-13 - Removed sequence numbers from job name format ### 2025-07-15 - Configured launch standard worker for Flamenco 3.7 - Updated worker paths to use `F:\software\Flamenco 3.7` ### 2025-06-03 - Changed retry function to infinite retries ### 2025-05-23 - Replaced RemoteCmd with RemoteSimplified ### 2025-05-14 - Added CMD worker error handling and retry logic ### 2025-05-13 - Implemented password prompt bypassing in scripts ### 2025-05-12 - Technical scripting and troubleshooting improvements ### 2025-05-07 - Script modifications for masterbox system ### 2025-05-06 - Switched to OptiX GPU rendering - Identified and fixed various mistakes ### 2025-05-05 - Flamenco job status troubleshooting ### 2025-04-25 - i9-13ks setup troubleshooting ### 2025-04-23 - Network drive mapping and file copying script improvements ### 2025-04-04 - Created worker2 scripts for Flamenco --- ## Notes - This project evolved from PowerShell-based scripts to a full desktop application - Early development focused on Flamenco worker management - SheepIt support was added later as a second worker type - The migration to Avalonia UI provided a unified interface for managing both worker types