diff --git a/Changelog.md b/Changelog.md index 0180038..bd13258 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,11 +1,57 @@ # 0.0.18 +## ElectronNET.Core -## Major overhaul: ElectronNET.Core +### Highlights +- **Complete MSBuild Integration**: Eliminated CLI tool dependency, moved all build processes to MSBuild with deep Visual Studio integration +- **Modernized Architecture**: Restructured process lifecycle with .NET launching first and running Electron as child process for better control and reliability +- **Cross-Platform Development**: Build and debug Linux applications directly from Windows Visual Studio via WSL integration +- **Flexible Electron Versioning**: Removed version lock-in, users can now select any Electron version with build-time validation +- **Enhanced Debugging Experience**: ASP.NET-first debugging with Hot Reload support and improved process termination handling +- **Console App Support**: No longer requires ASP.NET - now works with simple console applications for file system or remote server HTML/JS -- New features -- New package names -- Restart of versioning +### Build System & Project Structure +- Eliminated electron.manifest.json configuration file, replaced with MSBuild project properties +- Introduced new package structure: ElectronNET.Core (main package), ElectronNET.Core.Api (API definitions), ElectronNET.Core.AspNet (ASP.NET integration) +- Added Runtime Identifier (RID) selection as part of project configuration +- Restructured build folder layout to use standard .NET format (bin\net8.0\win-x64) instead of bin\Desktop +- Implemented incremental build support for Electron assets to improve build performance +- Added custom MSBuild tasks for Electron-specific build operations +### Development Experience +- Implemented unpackaged run-mode for development using regular .NET builds with unpackaged Electron configuration +- Added support for building Linux packages on Windows via WSL integration +- Enabled running and debugging Linux application outputs on Windows through WSL +- Integrated TypeScript compilation with ASP.NET tooling for consistent builds +- Added process orchestration supporting 8 different launch scenarios (packaged/unpackaged × console/ASP.NET × dotnet-first/electron-first) +### Debugging & Runtime +- Dramatically improved debugging experience with ASP.NET-first launch mode +- Added Hot Reload support for ASP.NET code during development +- Implemented proper process termination handling for all exit scenarios +- Minimized startup times through optimized build and launch procedures + +### Technical Improvements +- Enhanced splash screen handling with automatic path resolution +- Improved ElectronHostHook integration as proper npm package dependency +- Updated to latest TypeScript version with ESLint configuration +- Added support for custom main.js files in projects +- Implemented version management through common.props file +- Added build-time Electron version compatibility validation + +### Package & Distribution +- Integrated MSBuild publishing mechanisms for creating Electron packages +- Added folder publishing support with improved parameter handling +- Implemented automated package.json generation from MSBuild properties +- Added GitHub release automation with proper versioning +- Reduced package sizes by eliminating unnecessary TypeScript dependencies + +### Migration & Compatibility +- Maintained backward compatibility for existing ElectronHostHook implementations +- Removed ASP.NET requirement: Now works with simple console applications for file system or remote server HTML/JS scenarios +- Added support for both console and ASP.NET Core application types +- Preserved all existing Electron API functionality while modernizing architecture +- Added migration path for existing projects through updated package structure + +This represents a comprehensive modernization of Electron.NET, addressing the major pain points around debugging, build complexity, and platform limitations while maintaining full API compatibility.