Files
UFL/CHANGELOG.md
2025-12-17 15:40:47 -07:00

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