Files
UFL/CHANGELOG.md

122 lines
4.9 KiB
Markdown
Raw Permalink Normal View History

2025-12-17 15:40:47 -07:00
# 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