Skip to content

Release 0.6.0 - #1109

Merged
FlorianRappl merged 37 commits into
mainfrom
develop
Sep 7, 2026
Merged

Release 0.6.0#1109
FlorianRappl merged 37 commits into
mainfrom
develop

Conversation

@FlorianRappl

Copy link
Copy Markdown
Collaborator

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 WebContents API, improves build and migration reliability, and refreshes documentation to reflect these changes.

Key highlights include:

  • Major expansion of the WebContents API for zoom, dynamic CSS, editing, selection, audio, and find-in-page.
  • Improved migration checks, including new validations for custom output paths and host hook folders.
  • Introduction of the ElectronNET.Core.Templates package for scaffolding Blazor-based Electron apps.
  • Build and cross-compilation fixes, especially for macOS and various packaging scenarios.
  • Documentation updates for new APIs, migration checks, and templates.

API Enhancements

  • Expanded WebContents API: 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

  • Improved migration checks: Now honor custom output paths, detect ProjectGuid in publish profiles, and add checks for incomplete ElectronHostHook folders (ELECTRON010, ELECTRON011). Documentation updated to explain new checks and how to resolve warnings. [1] [2] [3] [4] [5]
  • Fixed build and cross-compilation issues: Addressed problems with single instance handling on macOS, socket bridge startup, system proxy configuration, electron-builder host/target RID confusion, and unrelated target resolution.

Project Templates

  • Added ElectronNET.Core.Templates NuGet package: Provides a dotnet new electron-blazor template for quickly scaffolding Blazor-based Electron desktop apps. Includes documentation for installation, usage, and customization. [1] [2] [3] [4]

Documentation and Requirements

  • Updated documentation: Refreshed API docs, migration guides, and getting started materials to cover new features, requirements (.NET 8/10, Node.js 22.x), and template usage. [1] [2] [3] [4]
  • Added sponsor and support options to the README.

Build System

  • Enhanced build system: Now imports a project-specific MSBuild file if present, improving extensibility and customization for advanced scenarios.

dependabot Bot and others added 30 commits August 5, 2026 05:07
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)
@FlorianRappl FlorianRappl added this to the 0.6.0 milestone Sep 7, 2026
Copilot AI lite review requested due to automatic review settings September 7, 2026 06:55

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 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 WebContents API (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.

Comment thread src/ElectronNET.Host/api/webContents.js
Comment thread src/ElectronNET.Host/api/webContents.ts
Comment thread docs/GettingStarted/Templates.md Outdated
@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown

pr-comment: Run #143

Tests 📝 Passed ✅ Failed ❌ Skipped ⏭️ Pending ⏳ Other ❓ Flaky 🍂 Duration ⏱️
1680 1518 0 0 0 162 0 4m 41s

🎉 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>
@FlorianRappl
FlorianRappl merged commit 87cc6f9 into main Sep 7, 2026
33 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants