v2.0.0-beta2
Pre-release
Pre-release
·
8 commits
to master
since this release
Changelog
All notable changes to the EDData Addon Helper project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
[Unreleased]
[2.0.0-beta2] - 2025-12-01
🎉 Highlights
- Application Renamed: "Elite Dangerous Addon Launcher V2" → "EDData Addon Helper"
- Framework Upgrade: .NET 8.0 → .NET 10 LTS (supported until November 2028)
- Professional Installer: WiX Toolset MSI installer with full customization
- Elite Dangerous Auto-Detection: Automatic detection for Steam, Epic Games, and Frontier Standalone
🚀 Added
Elite Dangerous Launch Dialog
- New
EliteLaunchDialogfor selecting the launch method:- Standard Installation - Launch Frontier Launcher directly
- Steam Version - Launch via Steam (
steam://rungameid/359320) - Epic Games - Launch via Epic Games Store
- Legendary - Launch via Open-Source Legendary Launcher
- Browse Manually - Select custom path
- Three additional launch options:
- Auto Run (
/autorun) - Start game directly without launcher dialog - Auto Quit (
/autoquit) - Close launcher after game starts - VR Mode (
/vr) - Start Elite Dangerous in VR mode
- Auto Run (
- Dialog appears when adding AND editing Elite Dangerous entries
Auto-Detection for Elite Dangerous
- Steam Library Detection:
- Automatic detection via Windows Registry (
HKCU:\Software\Valve\Steam) - Parsing of
libraryfolders.vdffor all Steam libraries - Search for
EDLaunch.exein all Steam folders
- Automatic detection via Windows Registry (
- Epic Games Store Detection:
- Scanning all
.itemmanifest files in Epic folder - Detection via
AppName: "Eel"(Epic ID for Elite Dangerous) - Extraction of installation path from manifests
- Scanning all
- Frontier Standalone Detection:
- Check known installation paths:
C:\Program Files (x86)\Frontier\EDLaunch\EDLaunch.exeC:\Program Files\Frontier\Products\elite-dangerous-64\EDLaunch.exe
- Registry lookup:
HKLM:\SOFTWARE\WOW6432Node\Frontier Developments\Elite Dangerous
- Check known installation paths:
- Fallback to full computer scan if auto-detection fails
WiX Toolset MSI Installer
- Professional Windows Installer (
.msi) with WiX Toolset v6.0.2 - Features:
- License display during installation
- Custom installation directory selection
- Start menu and desktop shortcuts
- Automatic uninstaller registration
- Upgrade detection for clean updates
- Replaces NSIS/MSIX for better Windows integration
CI/CD Pipeline
- GitHub Actions workflow for automated builds
- Automatic release creation on tag push (
v*) - MSI installer automatically uploaded as release asset
- Uses
softprops/action-gh-release@v2
🔧 Changed
Framework & Dependencies
- Framework Upgrade: .NET 8.0 → .NET 10 LTS (
net10.0-windows10.0.22621.0) - Dependencies updated:
- MaterialDesignColors: 3.1.0 → 5.3.0
- MaterialDesignThemes: 5.3.0
- Newtonsoft.Json: 13.0.4
- Serilog: 4.3.0
- Serilog.Sinks.Console: 6.1.1
- Serilog.Sinks.File: 7.0.0
- gong-wpf-dragdrop: 4.0.0
UI/UX Improvements
- DataGrid Columns: Button columns set to
Autowidth for flexible sizing - Application Title: New application name "EDData Addon Helper" updated everywhere
- Window Titles: All window titles updated to new name
Project Rename
- Project file:
Elite Dangerous Addon Launcher V2.csproj→EDData Addon Helper.csproj - Assembly Name:
EDData Addon Helper - Root Namespace:
EDData_Addon_Helper - All XAML files updated with new namespace
🔒 Security
- 8 critical security fixes implemented:
- Process Execution Hardening (
UseShellExecute=false) - JSON Deserialization Security (
TypeNameHandling.None) - Path Traversal Protection with validation methods
- URL Protocol Whitelist Validation
- File Size Validation (1MB manifest limit)
- Comprehensive Exception Handling
- Profile Import Validation
- Settings Import Validation
- Process Execution Hardening (
🐛 Fixed
Compiler Warnings
- 130 compiler warnings eliminated in Debug configuration
- Field Initialization Warnings (string fields →
string.Empty) - Nullable Event Handler Warnings (
PropertyChangedEventHandler?) - Null Reference Analysis Warnings in UI components
Bug Fixes
- Added exception logging in profile loading
- Fixed double loop bug in process cleanup
- Fixed NullReferenceException in
Btn_Launch_Click - Fixed thread-unsafe
processListaccess - Fixed memory leak in
Profile.AppsCollectionChanged event - Removed deprecated
.csprojfile with typo
⚡ Performance
- Build Time: Reduced from 4.42s to 1.86s (-57%)
- Thread.Sleep() replaced with async Task.Delay() - No more UI blocking
- Epic Games Manifest Caching - ~70-80% fewer I/O operations
- Directory.GetFiles() with filter - Reduced memory footprint
- Process Handle Management - Using statements for proper cleanup
📦 Technical Details
New Files
EliteLaunchDialog.xaml/EliteLaunchDialog.xaml.cs- Launch method dialogConstants.cs- 35+ centralized application constantsPackage.wxs- WiX installer definition.github/workflows/build-release.yml- CI/CD pipeline
Build Output
- Installer:
EDData-Addon-Helper-2.0.0-beta2.msi - Size: ~55 MiB (self-contained with .NET Runtime)
- Target: Windows 10/11 x64
📋 Dependencies
| Package | Version |
|---|---|
| .NET | 10.0 LTS |
| MaterialDesignColors | 5.3.0 |
| MaterialDesignThemes | 5.3.0 |
| Newtonsoft.Json | 13.0.4 |
| Serilog | 4.3.0 |
| Serilog.Sinks.Console | 6.1.1 |
| Serilog.Sinks.File | 7.0.0 |
| gong-wpf-dragdrop | 4.0.0 |
| WiX Toolset | 6.0.2 |
For more information, see the Contributing Guidelines.