Repository navigation
v0.1.0-alpha.2
Pre-releaseNativeWebView 0.1.0-alpha.2
Generated from changelog fragments in changelog/fragments.
Added
- Reworked
NativeWebView.Sample.Desktopinto an Avalonia desktop feature explorer that hosts theNativeWebViewcontrol and exposes navigation, script execution, web messaging, printing, focus movement, cookie/command manager checks, dialog operations, and authentication broker actions. - Added cross-platform diagnostics reporting API and JSON report sample CLI.
- Added diagnostics markdown formatter for human-readable platform status summaries.
- Added blocking diagnostics baseline parsing, comparison, and regression reporting APIs.
- Added stale-baseline and baseline-update status flags for diagnostics regression results.
- Added
scripts/update-blocking-baseline.shto regenerate blocking diagnostics baselines. - Added regression evaluation API with machine-readable gate policy outcomes and effective exit code.
- Added gate failure classification fields in regression evaluation (
failingGates,primaryFailingGate). - Added
scripts/validate-diagnostics-exit-code-contract.shfor automated gate exit-code contract conformance checks. - Added gate evaluation markdown formatter and
--comparison-evaluation-markdown-outputdiagnostics option. - Added structured gate failure metadata (
gateFailures) to diagnostics regression evaluation outputs. - Added deterministic diagnostics regression evaluation
fingerprintmetadata for cross-run artifact correlation. - Added diagnostics evaluation fingerprint schema version metadata (
fingerprintVersion). - Added repository diagnostics fingerprint baseline (
ci/baselines/diagnostics-fingerprint-baseline.txt) for conformance contract gating. - Added
scripts/update-diagnostics-fingerprint-baseline.shhelper for deterministic fingerprint baseline refresh. - Added fingerprint baseline drift comparison artifacts (
fingerprint-baseline-comparison.json,fingerprint-baseline-comparison.md) to diagnostics conformance runs. - Added machine-readable diagnostics conformance summary artifact (
exit-code-contract-summary.json) with per-scenario expected/actual exit-code outcomes and fingerprints. - Implemented the embedded Android NativeWebView control runtime with backend-owned child
Viewattachment,android.webkit.WebViewhosting, JS messaging, new-window interception, zoom control support, and synthetic composited frame capture. - Implemented the embedded Browser NativeWebView control runtime with Avalonia Browser native hosting, a real DOM
iframe, same-origin DOM/script bridging, message roundtrips, and synthetic render-frame capture support. - Implemented real
NativeWebDialogruntime paths on Windows and Linux by hosting the existing WebView2/WebKitGTK runtimes inside native desktop dialog windows. - Replaced
WebAuthenticationBrokerstubs with real runtime-backed authentication flows on Windows, macOS, Linux, iOS, Android, and Browser. - Added
NativeWebViewProxyPlatformSupportMatrixso applications can inspect the real platform capability and current repo support level for proxy configuration. - Added
NativeWebViewWindowsProxyArgumentsBuilderandNativeWebViewLinuxProxySettingsBuilderto translate shared proxy options into WebView2/WebKitGTK-style configuration payloads for future or custom integrations. - Added
NativeWebView.InstanceConfigurationso each hosted control instance can seed its own environment and controller defaults before initialization. - Extended
NativeWebViewEnvironmentOptionswith proxy, cache, cookie, and session directory settings for per-instance browser state configuration. - Added regression coverage proving multiple
NativeWebViewcontrols can initialize from a shared template without leaking configuration across instances. - Added real per-instance proxy application for macOS
NativeWebViewandNativeWebDialoginstances using dedicatedWKWebsiteDataStoreproxy configurations on macOS 14+. - Added
NativeWebViewFeature.ProxyConfigurationand proxy resolution helpers so runtime support can be surfaced explicitly. - Added coverage for proxy parsing, platform support surfacing, and dialog instance-configuration forwarding.
- Introduced a platform implementation status matrix so callers can distinguish current repo runtime support from broader backend capability contracts.
- Implemented the embedded Windows NativeWebView control runtime with WebView2 child hosting, real native handles, and per-instance proxy application through AdditionalBrowserArguments.
- Implemented the embedded Linux NativeWebView control runtime with GTK3/WebKitGTK child hosting on X11, real native handles, and per-instance proxy application through WebsiteDataManager.
Changed
- Preserved deterministic backend contract checks by moving matrix logic into
DesktopSampleSmokeRunnerand adding--smokemode. - Updated desktop smoke script to run sample in smoke mode (
dotnet run ... -- --smoke) while default sample run launches the interactive Avalonia UI. - Extended diagnostics sample and wrapper script with markdown summary output support.
- Extended diagnostics sample/script with baseline regression-gating options and outputs.
- Extended diagnostics sample/script with
--require-baseline-syncgating for resolved baseline entries. - Extended diagnostics sample/script with
--comparison-json-outputartifact generation. - Added gate-specific diagnostics exit code contract (10 require-ready, 11 regression, 12 baseline-sync, 13 multiple).
- Updated diagnostics CLI to return evaluation-derived gate-specific exit codes.
- Published exit-code contract conformance summaries to CI workflow summary output.
- Extended diagnostics wrapper/conformance scripts to generate and validate gate evaluation markdown artifacts.
- Appended gate evaluation markdown to generated release notes and release diagnostics artifacts.
- Unified gate failure messages/recommendations across JSON output, markdown formatter, and CLI error reporting.
- Extended diagnostics scripts and conformance automation to enforce structured gate failure metadata contract.
- Extended diagnostics wrapper and conformance scripts to validate fingerprint presence and format.
- Updated gate evaluation markdown to include fingerprint summary output.
- Enforced JSON/markdown fingerprint parity checks in diagnostics wrapper and exit-code conformance scripts.
- Extended conformance markdown summary with per-scenario fingerprint values.
- Extended diagnostics exit-code conformance script with optional fingerprint baseline enforcement and current fingerprint artifact output.
- Updated conformance mismatch handling to evaluate all scenarios and fail after complete expected/actual drift reporting is written.
- Release notes append flow now includes exit-code conformance summary and fingerprint baseline comparison markdown.
- Extended conformance summary contract to include fingerprint baseline gate metadata (
enabled, match status, mismatch count, comparison artifact paths). - Added summary JSON contract validation checks in
validate-diagnostics-exit-code-contract.sh. - Added CI quality gate and sample smoke checks to workflows.
Fixed
- Guarded diagnostics reporter against empty platform selection to prevent misleading ready reports.
- Hardened wrapper argument validation for comparison output options that require a baseline file.
- Corrected runtime status, diagnostics, and documentation so Android is reported as an implemented embedded control target while per-instance proxy configuration remains app-wide and unsupported on Android.
- Corrected implementation status, diagnostics, and documentation so Browser is reported as an implemented embedded control target while per-instance proxy support remains unsupported.
- Updated the platform implementation-status matrix, docs, and tests so dialog/auth support is reported as runtime-implemented where the repo now ships real native paths.
- Corrected platform status documentation and diagnostics so Windows, macOS, and Linux are reported as implemented embedded control targets and iOS becomes the next bring-up phase.
Docs
- Added desktop sample run instructions to README and quickstart documentation.
- Added diagnostics report documentation and quickstart/release workflow updates.
- Updated diagnostics, quickstart, and CI/release docs for markdown artifact workflows.
- Documented baseline comparison workflow and artifact outputs for diagnostics reporting.
- Documented baseline refresh workflow and stale-baseline policy updates.
- Documented comparison JSON output and gate-audit workflow updates.
- Documented diagnostics exit code contract.
- Documented local/pipeline exit-code conformance validation commands.
- Documented
gateFailuresfields for diagnostics report consumers. - Documented fingerprint contract in diagnostics and CI/release documentation.
- Updated diagnostics/CI documentation for fingerprint version and parity contract requirements.
- Updated diagnostics, CI/release, quickstart, prerequisites, and README documentation for fingerprint drift artifacts.
- Updated diagnostics/CI/quickstart/prerequisites/README docs for machine-readable conformance summary usage.
- Added quickstart, API, interop, platform, and CI/release documentation pages.
- Documented the new support-matrix API and the Windows/Linux proxy translation helpers.
- Updated README, quickstart, rendering/options docs, and the desktop sample to show per-instance configuration usage.
- Documented the actual per-instance proxy support matrix across macOS, Windows, Linux, iOS, Android, and Browser targets.
CI
- Added CI and release diagnostics artifact generation and publishing.
- Published diagnostics markdown summaries in CI step output and release notes pipelines.
- Enforced blocking diagnostics baseline regression checks in CI/release workflows.
- Enforced baseline-sync hygiene in CI/release diagnostics gates.
- Added regression evaluation JSON artifacts to CI/release diagnostics publication and release attachments.
- Added exit-code contract validation step and artifacts to CI/release workflows.
- Published gate evaluation markdown in CI workflow summary and diagnostics artifact bundle.
- CI/release conformance steps now enforce fingerprint baseline drift checks.
- CI workflow summary now includes fingerprint baseline drift comparison markdown when fingerprint gating is enabled.
- Added cross-platform build/test workflow with packaging artifacts.
- Added release workflow with tag-based package versioning and NuGet publishing.
Packaging
- Added NuGet pack metadata, symbol packages, and package readme/license inclusion.
Platform Diagnostics Summary
Generated (UTC): 2026-03-16 06:53:32Z
Warnings As Errors: False
Overall Ready: True
Platforms: 6, Issues: 10, Blocking: 0
| Platform | Ready | Provider | Registered | Warnings | Errors | Blocking |
|---|---|---|---|---|---|---|
| Windows | True | WindowsPlatformDiagnostics | True | 1 | 0 | 0 |
| MacOS | True | MacOSPlatformDiagnostics | True | 1 | 0 | 0 |
| Linux | True | LinuxPlatformDiagnostics | True | 2 | 0 | 0 |
| IOS | True | IOSPlatformDiagnostics | True | 2 | 0 | 0 |
| Android | True | AndroidPlatformDiagnostics | True | 2 | 0 | 0 |
| Browser | True | BrowserPlatformDiagnostics | True | 2 | 0 | 0 |
Windows
- [Warning]
windows.host.mismatch: Windows backend diagnostics are running on a non-Windows host. Recommendation: Run this diagnostic on Windows to validate native runtime requirements.
MacOS
- [Warning]
macos.host.mismatch: macOS backend diagnostics are running on a non-macOS host. Recommendation: Run this diagnostic on macOS to validate WKWebView prerequisites.
Linux
- [Warning]
linux.webkitgtk.version.unset: NATIVEWEBVIEW_WEBKITGTK_VERSION is not set. Recommendation: Set this environment variable in CI or startup diagnostics (expected >= 4.1). - [Warning]
linux.display.missing: DISPLAY/WAYLAND_DISPLAY is not set. Recommendation: Set a graphical session variable when running non-headless UI flows.
IOS
- [Warning]
ios.control.contract_only: iOS currently registers the NativeWebView control contract, but this build does not include the Apple-workload-targeted embedded control runtime. Recommendation: Build the iOS-targeted backend assembly and check NativeWebViewPlatformImplementationStatusMatrix before shipping embedded control support. - [Warning]
ios.host.mismatch: iOS backend diagnostics are running on a non-iOS host. Recommendation: Run this diagnostic on iOS to validate device/runtime prerequisites.
Android
- [Warning]
android.control.contract_only: Android currently registers the NativeWebView control contract, but this build does not include the workload-targeted embedded control runtime. Recommendation: Build the Android-targeted backend assembly and check NativeWebViewPlatformImplementationStatusMatrix before shipping embedded control support. - [Warning]
android.host.mismatch: Android backend diagnostics are running on a non-Android host. Recommendation: Run this diagnostic on Android/emulator to validate runtime prerequisites.
Browser
- [Warning]
browser.control.contract_only: Browser currently registers the NativeWebView control contract, but this build does not include the browser-targeted embedded control runtime. Recommendation: Build the browser-targeted backend assembly and check NativeWebViewPlatformImplementationStatusMatrix before shipping embedded control support. - [Warning]
browser.host.mismatch: Browser backend diagnostics are running on a non-browser host. Recommendation: Run this diagnostic in WASM/browser runtime for accurate validation.
Blocking Diagnostics Regression Comparison
Baseline Blocking Issues: 0
Current Blocking Issues: 0
New Blocking Issues: 0
Resolved Blocking Issues: 0
Has Regression: False
Has Stale Baseline: False
Requires Baseline Update: False
New Blocking Issues
- None
Resolved Blocking Issues
- None
Blocking Diagnostics Gate Evaluation
Generated At (UTC): 2026-03-16T06:53:32.5875584+00:00
Warnings As Errors: False
Require Ready: False
Fail On Regression: True
Require Baseline Sync: True
Is Ready: True
Has Comparison: True
Has Regression: False
Has Stale Baseline: False
Requires Baseline Update: False
Has Multiple Gate Failures: False
Primary Failing Gate: None
Effective Exit Code: 0
Fingerprint Version: 1
Fingerprint: dae4cc50fd2d7b55199c5952924dccc104dec56bcddab15eecce7d3d181f3d72
Comparison Snapshot
Baseline Blocking Issues: 0
Current Blocking Issues: 0
New Blocking Issues: 0
Resolved Blocking Issues: 0
Failing Gates
- None
Diagnostics Exit Code Contract Validation
| Case | Expected | Actual | Pass | Fingerprint |
|---|---|---|---|---|
| pass | 0 | 0 | true | dae4cc50fd2d7b55199c5952924dccc104dec56bcddab15eecce7d3d181f3d72 |
| require-ready | 10 | 10 | true | 03d9b81c3aa9552b112c6a09db1d63eb82fe8e2382067da3059d5739ce4962fd |
| regression | 11 | 11 | true | 30d8229a49f75cdc69d5cde87c69c07eeb3916c0f6bafcdc0c377ce81a5bee1b |
| baseline-sync | 12 | 12 | true | 38e965a2980a20bb7a1b405f3419835034bb68e180537205d11c2c69815557c6 |
| multi-gate | 13 | 13 | true | f8148d25dc833a59ccafad834fbce57af14c7062bbc3627e1fb70c878cec6590 |
Diagnostics Fingerprint Baseline Comparison
Baseline: ci/baselines/diagnostics-fingerprint-baseline.txt
Current: artifacts/diagnostics/exit-code-contract-0.1.0-alpha.2/fingerprint-current.txt
All Matched: true
Mismatch Count: 0
| Scenario | Expected | Actual | Matched |
|---|---|---|---|
| pass | dae4cc50fd2d7b55199c5952924dccc104dec56bcddab15eecce7d3d181f3d72 | dae4cc50fd2d7b55199c5952924dccc104dec56bcddab15eecce7d3d181f3d72 | true |
| require-ready | 03d9b81c3aa9552b112c6a09db1d63eb82fe8e2382067da3059d5739ce4962fd | 03d9b81c3aa9552b112c6a09db1d63eb82fe8e2382067da3059d5739ce4962fd | true |
| regression | 30d8229a49f75cdc69d5cde87c69c07eeb3916c0f6bafcdc0c377ce81a5bee1b | 30d8229a49f75cdc69d5cde87c69c07eeb3916c0f6bafcdc0c377ce81a5bee1b | true |
| baseline-sync | 38e965a2980a20bb7a1b405f3419835034bb68e180537205d11c2c69815557c6 | 38e965a2980a20bb7a1b405f3419835034bb68e180537205d11c2c69815557c6 | true |
| multi-gate | f8148d25dc833a59ccafad834fbce57af14c7062bbc3627e1fb70c878cec6590 | f8148d25dc833a59ccafad834fbce57af14c7062bbc3627e1fb70c878cec6590 | true |
NuGet Package Validation
Version: 0.1.0-alpha.2
| Package | .nupkg | .snupkg | Contents | Metadata | Dependencies |
|---|---|---|---|---|---|
NativeWebView |
Yes | Yes | Yes | Yes | Yes |
NativeWebView.Core |
Yes | Yes | Yes | Yes | Yes |
NativeWebView.Dialog |
Yes | Yes | Yes | Yes | Yes |
NativeWebView.Auth |
Yes | Yes | Yes | Yes | Yes |
NativeWebView.Interop |
Yes | Yes | Yes | Yes | Yes |
NativeWebView.Platform.Windows |
Yes | Yes | Yes | Yes | Yes |
NativeWebView.Platform.macOS |
Yes | Yes | Yes | Yes | Yes |
NativeWebView.Platform.Linux |
Yes | Yes | Yes | Yes | Yes |
NativeWebView.Platform.iOS |
Yes | Yes | Yes | Yes | Yes |
NativeWebView.Platform.Android |
Yes | Yes | Yes | Yes | Yes |
NativeWebView.Platform.Browser |
Yes | Yes | Yes | Yes | Yes |