Skip to content

v26.0 Alpha 5

Pre-release
Pre-release

Choose a tag to compare

@StarsailsClover StarsailsClover released this 31 Jul 11:56

MCDebugLauncher v26.0 Alpha 5 - Release Summary

Release Date

2026-07-31

Version Information

  • Version Number: v26.0.0-alpha.5
  • Binary Size: 9.2 MB
  • Branch: bugfix/neoforge-classpath-and-features
  • Commits: 3 commits
  • Test Status: ✅ All Passed (16/16 tests)

🔧 Key Fixes

1. NeoForge Fatal Startup Error Resolution

Problem Description:

Fatal Startup Error: Failed to create entrypoint object
net.neoforged.fml.startup.FatalStartupException: 
Missing main class net.minecraft.client.main.Main from the game content loader

Root Cause:

  • NeoForge relies on the patched client JAR (deobfuscation + binary patches) generated by the installer
  • MDL skips the vanilla client JAR for NeoForge instances
  • If the patched client is missing or corrupted, core Minecraft classes become unavailable
  • This issue is more likely to occur in multi-mod environments

Solution:

  • Added fallback logic within the build_classpath() function
  • Automatically append the vanilla client JAR to the classpath when a missing patched client is detected
  • Guarantee consistent availability of core classes such as net.minecraft.client.main.Main
  • Log warnings to facilitate debugging

Code Location: src/instance/launcher.rs Lines 514-524


✨ New Features

2. Automatic Update System

Commands:

mdl update --check    # Only check for updates
mdl update            # Interactive update

Feature Highlights:

  • ✅ GitHub API integration for automatic latest release detection
  • ✅ Semantic version comparison (supports alpha/beta tags)
  • ✅ Automatic download of new binary builds
  • ✅ Automatic backup creation (.exe.bak) prior to updates
  • ✅ Batch script generation for safe replacement on Windows
  • ✅ Manual download link provided upon network failures

Implementation File: src/util/selfupdate.rs (192 lines)

3. Environment Variable Registration

Command:

mdl setup    # Add MDL to PATH

Feature Highlights:

  • ✅ Automatically add MDL to system PATH (Windows)
  • ✅ PowerShell integration for environment variable modification
  • ✅ Duplicate entry detection to avoid redundant additions
  • ✅ Automatic update check during setup
  • ✅ Cross-platform awareness (manual configuration prompt for non-Windows systems)

Usage Scenario:
After running mdl setup once, the mdl command can be invoked directly in any terminal without specifying the full file path.

4. Mod Display in Window Title (Existing Feature Validation)

Feature Description:

  • Terminal window title: MDL: <Instance Name> [Mod1, Mod2, ...]
  • Game window title: Identical format (via the --title argument)

Example:

Loaded 2 mod(s) in 'bc-test':
  - Fabric API (0.119.4+1.21.4)
  - MinecraftBC (2.0.0)

[Window Title]: MDL: bc-test [Fabric API, MinecraftBC]

Purpose: Quickly identify the corresponding instance and mod environment for each window during multi-instance testing.


📊 Technical Statistics

Code Changes

  • Modified Files: 4
  • New Lines Added: 274 lines
  • New Module: src/util/selfupdate.rs

Affected Components

  • src/instance/launcher.rs - NeoForge classpath logic
  • src/main.rs - New update and setup commands
  • src/util/mod.rs - Register selfupdate module
  • src/util/selfupdate.rs - Full self-update implementation

Dependencies

No new dependencies added; existing dependencies used:

  • reqwest - HTTP requests
  • tokio::fs - Asynchronous file operations
  • serde_json - GitHub API parsing
  • anyhow - Error handling

🧪 Test Validation

Automated Tests

running 16 tests
✅ All tests passed

Manual Testing

  • ✅ NeoForge 1.21.1 instances launch normally
  • ✅ Version checking for update command works as intended
  • ✅ Setup command successfully adds PATH entry
  • ✅ Mod list displayed correctly within window titles
  • ✅ Fabric/Forge instances remain unaffected

📦 Release Assets

Release Package Contents

release/mdl-v26.0-alpha.5-windows-x64/
├── mdl.exe                (9.2 MB)
├── README.md              (4.2 KB)
├── README_CN.md           (3.7 KB)
├── CHANGELOG.md           (3.9 KB)
├── LICENSE                (620 B)
└── BUGFIXES_ALPHA5.md     (5.6 KB)

Git Information

  • Branch: bugfix/neoforge-classpath-and-features
  • Based On: v26.0-alpha.4 (tag: v26.0-alpha.4)
  • Commits:
    1. d49635e - Fix NeoForge classpath bug and add self-update features
    2. 4452d19 - Bump version to 26.0.0-alpha.5
    3. 84f2536 - Add detailed documentation for Alpha 5 fixes

📝 User Migration Guide

For Existing Users

  • No Breaking Changes
  • ✅ Existing instances function without modification
  • ✅ New commands are optional enhancements
  • 💡 It is recommended to run mdl setup once for convenient PATH access

Upgrade Steps

# Method 1: Manual Replacement (Auto-update unavailable in current Alpha 5)
1. Download mdl-v26.0-alpha.5-windows-x64.zip
2. Extract and replace the existing mdl.exe
3. Run mdl setup (Optional)

# Method 2: Automatic Update for Future Versions
mdl update

🔮 Future Roadmap

Alpha 6 Plans

  • Performance optimization (loading speed for large modpacks)
  • Cache improvements to reduce repeated downloads
  • Memory consumption optimization

Beta 1 Targets

  • TUI interface (interactive terminal interface)
  • Or GUI wrapper (Under consideration)

Long-Term Goals

  • Cross-platform binary distribution (Linux, macOS)
  • Plugin system supporting custom mod loaders
  • Modrinth/CurseForge integration for automated mod downloads
  • Instance template and cloning functionality

🙏 Acknowledgements

This release resolves the critical NeoForge startup issue reported by the community and implements the user-requested automatic update system. Feedback from all testers is greatly appreciated.


📞 Support

  • Issue Reports: GitHub Issues
  • Documentation: README.md, README_CN.md
  • Technical Details: docs/BUGFIXES_ALPHA5.md

Version: v26.0.0-alpha.5
Release Date: 2026-07-31
Next Version: v26.0.0-alpha.6 (Planned)