Release 0.6.0 - #1109
Conversation
Bumps [socket.io-parser](https://github.com/socketio/socket.io) from 4.2.6 to 4.2.7. - [Release notes](https://github.com/socketio/socket.io/releases) - [Changelog](https://github.com/socketio/socket.io/blob/main/CHANGELOG.md) - [Commits](https://github.com/socketio/socket.io/compare/socket.io-parser@4.2.6...socket.io-parser@4.2.7) --- updated-dependencies: - dependency-name: socket.io-parser dependency-version: 4.2.7 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
…/ElectronNET.Host/ElectronHostHook/socket.io-parser-4.2.7 Bump socket.io-parser from 4.2.6 to 4.2.7 in /src/ElectronNET.Host/ElectronHostHook
…ile args in order to allow cross-compile on same platform. Enforce default-arch to be the default arch in order to avoid arch in package directory name.
fix(packaging): Restore cross-compile on same platform and packaging dir name behavior
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.3.0 to 4.3.1. - [Changelog](https://github.com/nodeca/js-yaml/blob/4.3.1/CHANGELOG.md) - [Commits](nodeca/js-yaml@4.3.0...4.3.1) --- updated-dependencies: - dependency-name: js-yaml dependency-version: 4.3.1 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 1.1.14 to 1.1.18. - [Release notes](https://github.com/juliangruber/brace-expansion/releases) - [Commits](juliangruber/brace-expansion@v1.1.14...v1.1.18) --- updated-dependencies: - dependency-name: brace-expansion dependency-version: 1.1.18 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [electron](https://github.com/electron/electron) from 30.5.1 to 39.8.10. - [Release notes](https://github.com/electron/electron/releases) - [Commits](electron/electron@v30.5.1...v39.8.10) --- updated-dependencies: - dependency-name: electron dependency-version: 39.8.10 dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com>
…/ElectronNET.WebApp/ElectronHostHook/brace-expansion-1.1.18 Bump brace-expansion from 1.1.14 to 1.1.18 in /src/ElectronNET.WebApp/ElectronHostHook
…/ElectronNET.Host/electron-39.8.10 Bump electron from 30.5.1 to 39.8.10 in /src/ElectronNET.Host
…/ElectronNET.WebApp/ElectronHostHook/js-yaml-4.3.1 Bump js-yaml from 4.3.0 to 4.3.1 in /src/ElectronNET.WebApp/ElectronHostHook
chore(build): fix #1096 by depends on resolve unrelated target
chore(build): allow customization of target framwork version in dev mode (#1095)
There was a problem hiding this comment.
🟡 Changes recommended
The Electron host’s audio-state-changed bridge emits undefined by reading event.audible instead of using the audible callback parameter, breaking OnAudioStateChanged on the .NET side.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
This PR prepares the Electron.NET 0.6.0 release by expanding the WebContents API surface, improving build/migration reliability (including custom output paths and host hook validation), and adding a new ElectronNET.Core.Templates package to scaffold Blazor-based Electron apps via dotnet new.
Changes:
- Expanded
WebContentsAPI (zoom, dynamic CSS, page-loading state, edit/selection, find-in-page, audio events) with new integration tests. - Improved build/migration targets (custom output path exclusions, publish profile validation updates, host hook folder checks, packaging/extensibility properties).
- Added
ElectronNET.Core.Templates(Blazor template content + packing project) and refreshed docs/readme/changelog for 0.6.0.
File summaries
| File | Description |
|---|---|
| src/ElectronNET/ElectronNET.csproj | Use shared TFM property |
| src/ElectronNET/build/package.dev.template.json | Use configurable executableName |
| src/ElectronNET/build/ElectronNETRules.Project.xaml | Add new MSBuild properties |
| src/ElectronNET/build/ElectronNET.MigrationChecks.targets | Exclusions + new checks |
| src/ElectronNET/build/ElectronNET.LateImport.targets | RID resolution + packaging tweaks |
| src/ElectronNET/build/ElectronNET.Core.targets | Executable naming + metadata |
| src/ElectronNET/build/ElectronNET.Core.props | New packaging/extensibility defaults |
| src/ElectronNET.WebApp/Views/HostHook/Index.cshtml | Update HostHook guidance text |
| src/ElectronNET.WebApp/ElectronNET.WebApp.csproj | Bump package refs to 0.6.0 |
| src/ElectronNET.WebApp/ElectronHostHook/package-lock.json | Dependency lock updates |
| src/ElectronNET.WebApp/Controllers/UpdateController.cs | Remove outdated CLI comment |
| src/ElectronNET.Templates/templates/blazor/wwwroot/app.css | Template styling |
| src/ElectronNET.Templates/templates/blazor/Properties/PublishProfiles/win-x64.pubxml | Template publish profile |
| src/ElectronNET.Templates/templates/blazor/Properties/PublishProfiles/osx-arm64.pubxml | Template publish profile |
| src/ElectronNET.Templates/templates/blazor/Properties/PublishProfiles/linux-x64.pubxml | Template publish profile |
| src/ElectronNET.Templates/templates/blazor/Properties/launchSettings.json | Template launch settings |
| src/ElectronNET.Templates/templates/blazor/Properties/electron-builder.json | Template builder config |
| src/ElectronNET.Templates/templates/blazor/Program.cs | Template app bootstrap |
| src/ElectronNET.Templates/templates/blazor/ElectronBlazorApp.csproj | Template project file |
| src/ElectronNET.Templates/templates/blazor/Components/Routes.razor | Template router |
| src/ElectronNET.Templates/templates/blazor/Components/Pages/Home.razor | Template home page |
| src/ElectronNET.Templates/templates/blazor/Components/Pages/Counter.razor | Template counter page |
| src/ElectronNET.Templates/templates/blazor/Components/Layout/NavMenu.razor | Template navigation |
| src/ElectronNET.Templates/templates/blazor/Components/Layout/MainLayout.razor | Template layout |
| src/ElectronNET.Templates/templates/blazor/Components/App.razor | Template root component |
| src/ElectronNET.Templates/templates/blazor/Components/_Imports.razor | Template imports |
| src/ElectronNET.Templates/templates/blazor/appsettings.json | Template settings |
| src/ElectronNET.Templates/templates/blazor/appsettings.Development.json | Template dev settings |
| src/ElectronNET.Templates/templates/blazor/.template.config/template.json | Template metadata + symbols |
| src/ElectronNET.Templates/templates/blazor/.template.config/dotnetcli.host.json | Template CLI symbols |
| src/ElectronNET.Templates/ElectronNET.Templates.csproj | New templates NuGet pack project |
| src/ElectronNET.sln | Add Templates project |
| src/ElectronNET.Samples.ElectronHostHook/ElectronNET.Samples.ElectronHostHook.csproj | Bump refs to 0.6.0 |
| src/ElectronNET.Lean.sln | Add Templates project |
| src/ElectronNET.IntegrationTests/Tests/WebContentsTests.cs | Add WebContents integration tests |
| src/ElectronNET.IntegrationTests/Tests/MigrationChecksTargetsTests.cs | Add migration checks tests |
| src/ElectronNET.IntegrationTests/Tests/ElectronCleanTargetsTests.cs | New clean target regression test |
| src/ElectronNET.Host/package.json | Update Electron dev dependency |
| src/ElectronNET.Host/package-lock.json | Lock updates for Electron bump |
| src/ElectronNET.Host/main.js | Single-instance + socket bind fixes |
| src/ElectronNET.Host/ElectronNET.Host.esproj | Bump JS SDK version |
| src/ElectronNET.Host/ElectronHostHook/package-lock.json | Lock update |
| src/ElectronNET.Host/api/webContents.ts | Add WebContents bridge APIs/events |
| src/ElectronNET.Host/api/webContents.js.map | Rebuilt sourcemap |
| src/ElectronNET.Host/api/webContents.js | Rebuilt JS output |
| src/ElectronNET.Host/api/browserWindows.ts | macOS activate recreation handling |
| src/ElectronNET.Host/api/browserWindows.js | Rebuilt JS output |
| src/ElectronNET.ConsoleApp/ElectronNET.ConsoleApp.csproj | Bump refs to 0.6.0 |
| src/ElectronNET.AspNet/ElectronNET.AspNet.csproj | Use shared TFM property |
| src/ElectronNET.API/Runtime/StartupManager.cs | Parse electronHost + build info |
| src/ElectronNET.API/Runtime/Services/SocketBridge/SocketBridgeService.cs | Use explicit socket host |
| src/ElectronNET.API/Runtime/Services/ElectronProcess/ElectronProcessActive.cs | Parse host from socket log |
| src/ElectronNET.API/Runtime/Helpers/UnpackagedDetector.cs | Use ElectronRootDir for detection |
| src/ElectronNET.API/Runtime/Helpers/ElectronRootDirResolver.cs | New resolver helper |
| src/ElectronNET.API/Runtime/Data/BuildInfo.cs | Add ElectronRootDir field |
| src/ElectronNET.API/ElectronNetRuntime.cs | Add ElectronSocketHost constant/property |
| src/ElectronNET.API/ElectronNET.API.csproj | Conditional System.Text.Json ref |
| src/ElectronNET.API/Common/ProcessRunner.cs | Add configurable exit wait timeout |
| src/ElectronNET.API/Bridge/SocketIOConnection.cs | Force direct (no proxy) |
| src/ElectronNET.API/API/WindowManager.cs | Handle BrowserWindowRecreated event |
| src/ElectronNET.API/API/WebContents.cs | New WebContents APIs/events |
| src/ElectronNET.API/API/Entities/ZoomDirection.cs | New enum |
| src/ElectronNET.API/API/Entities/StopFindInPageAction.cs | New enum |
| src/ElectronNET.API/API/Entities/LoadFileOptions.cs | New options type |
| src/ElectronNET.API/API/Entities/FoundInPageResult.cs | New result type |
| src/ElectronNET.API/API/Entities/FindInPageOptions.cs | New options type |
| src/ElectronNET.API/API/Entities/AdjustSelectionOptions.cs | New options type |
| src/common.props | Bump version + shared TFMs |
| README.md | Update requirements + add Templates pkg |
| docs/Using/Package-Building.md | Document custom packaging pipeline props |
| docs/Using/Custom_main.md | Document switch modification timing |
| docs/Using/Configuration.md | Document new packaging/name properties |
| docs/GettingStarted/Templates.md | New templates guide |
| docs/GettingStarted/Console-App.md | Bump version snippets |
| docs/GettingStarted/ASP.Net.md | Link to templates quick start |
| docs/Core/Migration-Guide.md | Update example builder config |
| docs/Core/Migration-Checks.md | Document new checks + excludes |
| docs/API/WebContents.md | Document new WebContents APIs/events |
| docs/_Sidebar.md | Link templates docs |
| Directory.Build.props | Add optional project-specific import |
| Changelog.md | Add 0.6.0 release notes |
Review details
Files not reviewed (3)
- src/ElectronNET.Host/ElectronHostHook/package-lock.json: Generated file
- src/ElectronNET.Host/package-lock.json: Generated file
- src/ElectronNET.WebApp/ElectronHostHook/package-lock.json: Generated file
- Files reviewed: 77/83 changed files
- Comments generated: 3
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
pr-comment: Run #143
🎉 All tests passed!Github Test Reporter by CTRF 💚 🔄 This comment has been updated |
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
This pull request introduces the Electron.NET 0.6.0 release, featuring significant enhancements, new APIs, improved migration checks, and the addition of project templates for easier onboarding. The update expands the
WebContentsAPI, improves build and migration reliability, and refreshes documentation to reflect these changes.Key highlights include:
WebContentsAPI for zoom, dynamic CSS, editing, selection, audio, and find-in-page.ElectronNET.Core.Templatespackage for scaffolding Blazor-based Electron apps.API Enhancements
WebContentsAPI: Added zoom control (factor/level), dynamic CSS insertion/removal, page loading/status APIs, editing/selection commands, find-in-page, audio state APIs, and corresponding events (e.g.,OnZoomChanged,OnAudioStateChanged,OnFoundInPage). Usage examples and documentation updated accordingly. [1] [2] [3] [4]Build and Migration Reliability
ProjectGuidin publish profiles, and add checks for incompleteElectronHostHookfolders (ELECTRON010,ELECTRON011). Documentation updated to explain new checks and how to resolve warnings. [1] [2] [3] [4] [5]Project Templates
ElectronNET.Core.TemplatesNuGet package: Provides adotnet new electron-blazortemplate for quickly scaffolding Blazor-based Electron desktop apps. Includes documentation for installation, usage, and customization. [1] [2] [3] [4]Documentation and Requirements
Build System