All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Docker Buildx targets for deterministic test runs, Windows cross-publish, and macOS x64/arm64 cross-publish; a Windows-container Dockerfile is available for compatible Windows Docker hosts.
- SSH-based workflow to build, test, and prepare a manual GUI test on a real macOS host from a Linux development machine.
- Source-backed user, creator, contributor, build, and codebase documentation now identifies its scope, evidence, maintainer ownership, and review triggers.
- Headless Workshop publishing, the mode-dependent Steam Workshop Mod Store, local session storage, telemetry defaults, and reproduction-bundle privacy boundaries are documented.
- CI Build Error: Replaced MAUI
Preferences.Defaultand AvaloniaSettingsPagereferences in Core services with platform-agnosticS.PreferencesandAppSettingsAPIs, restoring Windows/Linux build compatibility. - Build consistency: aligned GitHub Actions with the SDK pinned in
global.json, updated non-MelonLoader package/action dependencies, and replaced the stale root Linux build pipeline with a compatibility wrapper. - Build usability: corrected the interactive Bash builder's release-script paths and host-specific commands.
- CI Build Error: Replaced MAUI
Preferences.Defaultand AvaloniaSettingsPagereferences in Core services with platform-agnosticS.PreferencesandAppSettingsAPIs, restoring Windows/Linux build compatibility.
- JSON Source Generation (AOT Support): Centralized registry in
AppJsonContext.csfor all serialized models (AuthResponse,DebugLogPayload,RalphTaskStatus,AssetModMetadata, etc.) to ensure stability in trimmed builds. global.json: Pinned .NET SDK to 9.0.313 for build reproducibility and to bypass broken preview SDKs.DESIGN.mddocumenting the Terminal Core design system (colors, typography, layout grid, component specs, forbidden patterns).EXTERNAL_DEPENDENCIES.mdfully updated to reflect Avalonia UI / .NET 9 stack and current repository layout.
- AOT Optimization: Migrated
BetterAuthService,TelemetryService,RalphSyncService, andWorkspaceServiceto use source-generated JSON serialization, eliminatingIL2026trim warnings. - Compiler Warning Cleanup: Refactored
SafeProcess,SessionManager, andSteamUgcPreviewsto resolveCS1998(async missing await). - Null Safety: Updated
SettingsPage,NewProjectPage, andProjectsPageto resolveCS8618(uninitialized non-nullable fields) in Avalonia views. - Build artifacts naming convention changed to
gregModmanager-{semVersion}{-pre}{-OS}.{ext}across all platforms (Windows EXE/ZIP, Linux tarball/packages). README.mdupdated with GitHub Actions status badges (Build & Release, Linux Packages) infor-the-badgestyle.README.mdnow references official ecosystem hubs gregframework.eu and datacentermods.com.AGENTS.mdpaths updated to matchsrc//tests//build/directory layout.
build/builder.ps1— renamedPause-AnyKeytoWait-KeyPressto comply with PowerShell approved verbs (PSScriptAnalyzer).build/installer/sign-authenticode.ps1—$PfxPasswordchanged to[Security.SecureString]; automatic variable$argsrenamed to$signArgs.build/scripts/linux/build-avalonia-packages.sh— package names now follow consistentgregModmanager-*-Linux.*scheme..github/workflows/build-and-release.yml— artifact upload/download globs aligned with new naming convention..github/workflows/linux-packages.yml— artifact paths aligned with new naming convention.- All build scripts, installer script, and CI workflows updated to support
-presuffix for prerelease/dev-branch builds.
1.5.1 - 2026-05-05
- Pre-release detection in build scripts: non-main branches and SemVer prerelease identifiers append
-preto artifact names. build/scripts/linux/build-avalonia-packages.ps1now forwards-IsPreflag to the underlying shell script via WSL.
- Build output directory consolidated under
build/installer/Output/(Windows) andartifacts/(Linux). Get-ProjectVersionhelper inbuild.ps1now returnsIsPre/PreSuffixproperties for downstream naming.
- CI artifact attestations now point to correct artifact paths after rename.
1.5.0 - 2026-05-05
- Avalonia UI 11.2 migration — complete rewrite of the desktop UI layer replacing the legacy MAUI stack.
- Linux packaging support — DEB, RPM, Arch packages via
nfpm; tar.gz portable builds forlinux-x64. - Linux headless CLI support — Steam Deck compatible mod management without GUI.
- GitHub Actions CI/CD — native Linux build job, artifact attestation, and optional GHCR container publishing.
- Code signing pipeline — Authenticode signing with ephemeral self-signed fallback for local builds; PFX support in CI.
- Steamworks integration —
Facepunch.Steamworksfor game root auto-detection and Workshop publishing. - Beta plugin source — server API integration for beta plugin distribution.
- SubDirectoryFixer — MelonLoader
net6.0plugin built and bundled during publish. - Localization — multi-language resource files (en, de, es, it, ja, pl, ru, zh) with
GregModmanager.Localization.Saccessor. - Inno Setup installer — Windows Setup EXE with automatic uninstall of older versions.
- Interactive builder —
build/builder.ps1andbuild/builder.shwith Terminal Core styled CLI menu. - Unit tests — xUnit project with
ContentStatscoverage and project sanity checks.
- Project layout restructured to
src//tests//build/for maintainability. - Single source of truth for version:
src/GregModmanager.Avalonia/GregModmanager.Avalonia.csproj. - Size-optimized publish:
<PublishTrimmed>true</PublishTrimmed>,<TrimMode>full</TrimMode>,<PublishSingleFile>true</PublishSingleFile>.
- Security — URL validation added to
Process.Startto prevent insecure process launches. - Security — secure process launch and URL opening hardened across all entry points.
steam_api64.dllexcluded from Authenticode signing loops (not a valid PE for signing).nfpminstallation switched to GitHub releases due to broken apt repository.
1.0.3 - 2026-04-07
- Discord release notification workflow for Windows builds.
- Comprehensive GitHub issue templates (bug report, crash report, documentation, feature request, installer problem, performance, questions).
- Code-signing status documentation in README.
- Self-signed setup workflow for local development.
- CI workflow enforces signed release gates before Discord notification.
- README updated with sponsorship information and badges.
- Windows build now signs app EXE before packaging into the installer.
- Test artifacts excluded from publish output.
- Pre-release packaging and workflow alignment fixes.
- Initial prerelease packaging pipeline.
1.0.0 - 2026-04-07
- Initial public release migrated from the GregTools monorepo to a standalone repository.
- ModManagerPage UI with store, installed, favorites, and diagnostics views.
- Project creator with real source code templates (
.csproj,.cs) for ModStore and Workshop. - Complete template coverage: UXML, Models, Textures, Audio.
- Authentication and install intent handling.
- Multi-language support infrastructure.
- WebView2 user data folder configuration.
- Logging and crash reporting across multiple pages.
- Directory writable checks and improved error handling.