Skip to main content

DistroNexus v2.0.1 - .NET 10 + WPF Baseline Release

· 6 min read

DistroNexus v2.0.1 is the first v2 baseline release, upgrading the product to a native .NET 10 + WPF architecture and a module-based automation platform.

🎉 Major Rewrite Release: .NET 10 + WPF

DistroNexus 2.0.1 is the first v2 release, moving from the v1.x line (latest: v1.0.2) to a fully modernized .NET 10 + WPF architecture.


✨ What’s New in v2

Complete Architecture Refactor

  • Full desktop UI migration from Go/Fyne to native WPF
  • .NET 10-based application stack for modern Windows performance and compatibility
  • MVVM application design using CommunityToolkit.Mvvm
  • Dependency Injection across services with Microsoft.Extensions.DependencyInjection
  • Async-first execution model for long-running operations

Modern UI and UX

  • Native Windows WPF UI with Fluent Design style (WPF-UI)
  • Dark mode support and improved visual consistency
  • Better operation visibility with progress/status feedback
  • Enhanced settings and diagnostics experience

Logging and Diagnostics

v2.0.1 includes unified logging across desktop and PowerShell workflows to make troubleshooting faster and more predictable. Logs are written under %APPDATA%\DistroNexus\logs and can be used to trace installation, lifecycle operations, package/catalog updates, and template execution. The diagnostics pipeline is designed to improve issue reproducibility for both local debugging and support scenarios.

Bilingual Product and Documentation Support

v2.0.1 provides bilingual (English and Simplified Chinese) support in both the WPF desktop client and project documentation. Core UI surfaces, release communication, and key operational references are maintained in both languages to improve accessibility for global and Chinese-speaking users. The content and localization structure is aligned across locales to reduce drift and keep update paths predictable.

PowerShell Module Platform (15 Cmdlets)

The PowerShell module provides a stable, scriptable automation surface for DistroNexus operations. It supports both interactive administration and repeatable workflows for team provisioning, CI validation, and local environment bootstrap. With a consistent cmdlet contract, users can manage lifecycle, package/cache, catalog, and template automation tasks through one unified interface.

  • Exported command surface with brief function notes:
    • Get-DistroNexusInstance: List registered WSL instances and runtime state.
    • Start-DistroNexusInstance: Start a specified WSL instance.
    • Stop-DistroNexusInstance: Stop (terminate) a running WSL instance.
    • Move-DistroNexusInstance: Move an instance to a new disk/path.
    • Rename-DistroNexusInstance: Rename a registered instance.
    • Remove-DistroNexusInstance: Unregister an instance and optionally remove files.
    • Install-DistroNexusInstance: Install a new WSL instance from catalog/package sources.
    • Set-DistroNexusCredential: Set/reset default user credentials for an instance.
    • Get-DistroNexusPackage: List available/cached distro packages.
    • Save-DistroNexusPackage: Download and cache distro packages locally.
    • Remove-DistroNexusPackage: Remove cached package files.
    • Update-DistroNexusCatalog: Refresh distro catalog metadata from source.
    • Get-DistroNexusTemplate: Query available templates (with filters).
    • Apply-DistroNexusTemplate: Apply a template to a target instance.
    • Invoke-DistroNexusTemplateAutomation: Execute template automation validation workflows.

Template System

The template system delivers reusable environment bootstrap flows for common development scenarios. It combines declarative metadata with script-based execution so teams can apply consistent setup standards across machines. With parameterized options and automation validation support, templates help reduce onboarding time and configuration drift.

  • Introduced built-in environment templates for rapid bootstrap scenarios
  • Template metadata via config/templates.json
  • Template scripts organized under config/templates/
  • Supports parameterized template execution and automation validation workflows
  • Available templates by category:
    • Development
      • dotnet-dev (.NET Development)
      • nodejs-dev (Node.js Development)
      • python-dev (Python Development)
      • docker-dev (Docker Development)
      • fullstack-dev (Fullstack Development)
      • dotnet-multi-sdk-dev (.NET Multi-SDK Development)
      • nodejs-multi-version-dev (Node.js Multi-Version Development)
      • python-multi-version-dev (Python Multi-Version Development)
      • rust-dev (Rust Development)
      • go-dev (Go Development)
    • Platform
      • java-jvm-dev (Java/JVM Development)
    • CloudNative
      • container-runtime-dev (Container Runtime Development)
      • kubernetes-local-dev (Kubernetes Local Development)
    • Database
      • database-local-stack (Database Local Stack)
    • DataAndAI
      • ai-ml-gpu-dev (AI/ML GPU Development)

Catalog and Configuration Contract

  • Standardized distribution catalog contract on catalog.json
  • Settings persisted at %APPDATA%\DistroNexus\settings.json
  • Improved source/path consistency for publish/runtime scenarios

Repository and Release Cleanup

  • Removed remaining v1.0 Go/Fyne source/build artifacts
  • Replaced legacy standalone PowerShell scripts with module workflows
  • Archived historical v1 comparison materials for cleaner repository structure
  • Unified release metadata/version defaults to 2.0.1

📦 Installation

Requirements

  • Windows 10 version 2004 or later, or Windows 11
  • .NET 10 Desktop Runtime (installer includes runtime prerequisites)
  • WSL2 enabled (required for full functionality)

Quick Start

  1. Download DistroNexus-2.0.1-Setup.exe
  2. Run the installer
  3. Launch DistroNexus from Start Menu

Portable Version

Download DistroNexus-v2.0.1-Release.zip:

  1. Extract to any folder
  2. Run DistroNexus.Desktop.exe

Self-Contained Version

Download DistroNexus-v2.0.1-Release-selfcontained.zip:

  1. Extract to any folder
  2. Run DistroNexus.Desktop.exe

🔄 Migration from v1.x (latest: v1.0.2)

Breaking Changes

  • Go/Fyne UI has been removed and replaced by WPF
  • Legacy script-oriented execution has been replaced by module cmdlets
  • Runtime configuration contract has been normalized for v2 workflows

Preserved Behavior

  • Existing WSL instances remain usable after upgrade
  • Core instance lifecycle operations are preserved and enhanced
  • Automation scenarios are now available through a stable module surface

✅ Validation Status

Unit Tests

  • .NET unit/integration test suite passes
  • PowerShell Pester unit/integration test suite passes

UI Automation Tests

  • Core UI workflows (startup, navigation, command interactions) completed under automated validation scenarios
  • No blocking regressions identified in release-critical UI paths

Built-in Template Test Suite

  • Built-in template automation test suite executes successfully for selected and full-run scenarios
  • Template bootstrap, parameterized execution, and validation flow pass for release baseline

🔄 Upgrade Notes

  • This release is the v2 baseline and directly supersedes the v1.x line (latest: v1.0.2)
  • Existing WSL instances remain usable after upgrade
  • User settings location remains %APPDATA%\DistroNexus\settings.json

📝 Change Summary

Added

  • Native WPF desktop client on .NET 10
  • PowerShell module-based command platform (15 cmdlets)
  • Template system for environment bootstrap and automation
  • Improved diagnostics/progress visibility and release consistency

Changed

  • Complete application architecture refactor (UI + service layer)
  • Catalog and settings contract alignment (catalog.json + %APPDATA% settings)
  • Release/build metadata aligned to v2.0.1 baseline

Removed

  • v1.0 Go/Fyne implementation artifacts
  • Legacy standalone PowerShell management scripts


Acknowledgment: AI completed nearly the entire end-to-end workflow of this project—from requirements research, development, and testing to release delivery, including this release notes document. With AI handling almost all execution work, I was finally able to invest time in the output I have wanted to create for a long time.

Thank you for using DistroNexus!