π Schedule I Developer Environment v2.2.0b - BETA
Only in beta until migration is tested more
π·οΈ Custom Description Management System
We're excited to announce the release of Schedule I Developer Environment v2.2.0b! This beta release introduces a comprehensive custom description management system that transforms how you identify and manage your installed game versions.
β¨ What's New
π·οΈ Custom Description Management
- Setup Wizard Enhancement: Add meaningful names when installing branches
- Version Manager: Edit custom descriptions for existing builds
- Persistent Storage: Descriptions saved and persist across sessions
- Enhanced UX: Better version identification with user-friendly names
π― Key Features
- Inline Editing: Click edit icon to modify descriptions
- Keyboard Shortcuts: Enter to save, Escape to cancel
- Real-time Updates: Descriptions update immediately during setup
- Visual Feedback: Toast notifications and loading states
π§ Improvements
Setup Wizard Flow
- Custom Description Input: Add descriptions during branch installation
- Real-time Updates: Descriptions update as you select branches
- Optional Fields: Descriptions are optional and user-friendly
- Seamless Integration: Works with both DepotDownloader and copy installations
Version Manager UI
- Edit Functionality: Click edit icon next to any installed build name
- Inline Editing: Transform version names into editable input fields
- Save/Cancel Actions: Clear save and cancel buttons with loading states
- Enhanced Display: Better version identification with custom names
Data Persistence
- Configuration Storage: Custom descriptions saved in app configuration
- Session Persistence: Descriptions persist across app restarts
- Automatic Transfer: Descriptions transferred from setup to installed builds
- Version Support: Works with both manifest-based and build-based versions
π Bug Fixes
Description Persistence
- Critical Fix: Resolved issue where custom descriptions were being overwritten
- Root Cause: Fixed
handleGetInstalledVersionsfunction not loading descriptions from config - Solution: Enhanced version loading to properly merge filesystem and configuration data
- All Scenarios: Fixed refresh, installation, version changes, and download cancellation
Version Loading System
- Improved Data Merging: Better integration between filesystem and configuration sources
- TypeScript Updates: Enhanced interfaces to include description fields
- IPC Handler Updates: Updated handlers to support custom descriptions
- Error Handling: Added proper error handling for description save operations
π Technical Changes
Files Modified
BranchSelectionStep.tsx: Added custom description input fieldsSetupWizard.tsx: Enhanced to capture and pass descriptionsCopyProgressStep.tsx: Updated to store custom descriptions during installationVersionManagerDialog.tsx: Added edit functionality and enhanced UIsteamBranchHandlers.ts: Fixed description loading and persistencepreload/index.ts: Updated TypeScript interfaces
New Features
- Custom Description Input: Real-time description capture during setup
- Inline Editing: Edit functionality with save/cancel actions
- Persistent Storage: Configuration-based description storage
- Enhanced UI: Edit icons, loading states, and visual feedback
π Migration Notes
For Users
π Fresh Environment (Recommended)
- Best Results: For optimal experience, we recommend starting with a fresh environment
- Clean Setup: New installations will automatically use the latest directory structure
- No Migration Needed: Fresh environments avoid any potential migration issues
- Full Features: Access to all new features without legacy compatibility concerns
π Legacy Migration Tool (Optional)
- Built-in Migration: Automatic detection and migration of old directory structures
- Selective Migration: Only migrates branches that actually need it
- Smart Detection: Identifies branches with flat structure (files directly in branch folders)
- Manifest Extraction: Automatically extracts manifest IDs from appmanifest files
- Safe Process: Files are moved (not copied) to maintain data integrity
Migration Process
- Automatic Detection: App scans for branches needing migration on startup
- Migration Dialog: Shows only if branches need migration
- Selective Migration: Only migrates specific branches that need it
- Build Structure: Moves files to
build_<manifest_id>directories - Config Update: Updates configuration with correct manifest information
When to Use Migration
- Legacy Installations: If you have old installations with flat directory structure
- Preserve Data: When you want to keep existing game files and configurations
- Gradual Transition: For users who prefer to migrate existing setups
When to Start Fresh
- New Users: First-time users should start with fresh environment
- Clean Slate: Users who want to avoid any potential migration issues
- Optimal Performance: For the best experience with all new features
For Developers
- New API Methods: Enhanced IPC handlers for description management
- TypeScript Updates: Updated interfaces to include description fields
- Configuration Changes: Enhanced config storage for custom descriptions
- Migration Service: New VersionMigrationService for legacy structure handling
π Version Information
- Version: 2.2.0b
- Release Date: 2025-01-21
- Type: Beta Release
- Compatibility: Full backward compatibility with v2.1.1
π― How to Update
- Download: Get the latest version from the releases page
- Install: Run the installer or extract the portable version
- Enjoy: Experience the new custom description management system!
π Full Changelog
For a complete list of changes, see our CHANGELOG.md.
π Support
- Issues: GitHub Issues