4.9 KiB
4.9 KiB
Changelog
All notable changes to the Unified Farm Launcher project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[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