PackageTrack
Sign in Get early access

webview_flutter_windows

A WebView2-powered webview for Flutter on Windows with seamless composition, keyboard focus integration, and a typed event API.

1.1.1 3.0K downloads/mo #4674 most downloaded on pub.dev omar-hanafy/webview_flutter_windows

What this package is like to depend on

Last release 1 months ago

18 Jul 2026

Too new to tell

only 2 release windows

Nearly every release is documented

notes for 3 of 3 stable releases

Nothing withdrawn

no release was ever pulled

2 months old

5 releases · first in 2026

5 releases in the last 12 months

see the full history below

Release timeline

5 releases · Jun 2026 to Jul 2026
Release Pre-release

Releases

latest 5
  1. 1.1.1 18 Jul 2026
    Release notes

    What's Changed

    • Add Claude Code and Codex agent plugin; release 1.1.1 by @omar-hanafy in #6

    Full Changelog: webview_flutter_windows-v1.1.0...webview_flutter_windows-v1.1.1

    Open source →
    Release notes
    • Add AI coding-assistant support for Claude Code and OpenAI Codex: an agent plugin installable from the repository marketplace, with five package-specific skills covering integration, the JavaScript bridge and local content, troubleshooting, channel-mocked testing, and migration from webview_windows 0.x. See the README's "AI coding-assistant support" section (#6).
    • No changes to the package's Dart or native code.
    Open source →
  2. 1.1.0 18 Jul 2026
    Release notes

    What's Changed

    New Contributors

    Full Changelog: webview_flutter_windows-v1.0.0...webview_flutter_windows-v1.1.0

    Open source →
    Release notes
    • Add WebviewController.setDefaultContextMenusEnabled() to enable or disable WebView2's default context menus for subsequent top-level navigations; menus remain disabled by default (#3).
    Open source →
  3. 1.0.0 20 Jun 2026
    Release notes

    What's Changed

    • Prepare webview_flutter_windows package release by @omar-hanafy in #1

    Full Changelog: https://github.com/omar-hanafy/webview_flutter_windows/commits/webview_flutter_windows-v1.0.0

    Open source →
    Release notes

    First stable release of webview_flutter_windows (omar-hanafy/webview_flutter_windows), a maintained fork/rebuild of upstream webview_windows 0.4.0 including all upstream changes up to ed81bbe. This API is the maintained baseline going forward: any future breaking change will come with a major version bump.

    This release contains breaking changes. See the migration guide for step-by-step upgrade instructions.

    Breaking changes

    • Published under the new package name webview_flutter_windows; migrate dependencies and imports from webview_windows.
    • Requires Dart 3.12+ / Flutter 3.44+.
    • All WebviewController event streams are now broadcast streams: multiple listeners are allowed, and events emitted while nobody listens are dropped.
    • WebErrorStatus values are renamed to lowerCamelCase (WebErrorStatusTimeout -> WebErrorStatus.timeout); the underlying indexes are unchanged.
    • Calling controller methods before initialize() completes now throws a StateError with an actionable message instead of crashing in release builds.
    • initialize() throws a StateError when called on a disposed controller, and completes with the underlying error on any failure (previously some failures left the controller, ready, and dispose() hanging forever).
    • The internal getButton helper is no longer exported.

    Window focus

    Fixes the long-standing focus loss issue (jnschulze/flutter-webview-windows#230):

    • Clicking a webview no longer deactivates the host window (gray title bar, dead keyboard shortcuts).
    • Clicking Flutter UI outside a webview hands keyboard focus back to Flutter automatically, and pressing Tab past the page's last focusable element moves focus back to Flutter instead of cycling inside the page forever.
    • Enforced invariant: while a Flutter text input owns Flutter focus, no webview keeps native keyboard focus. A TextField gaining focus while the page holds the keyboard - or any code path grabbing native focus while a text input is focused - results in focus being handed back to Flutter immediately, in both event orders.
    • New API: WebviewController.focus(), WebviewController.releaseFocus(), the onFocusChanged stream, and hasNativeFocus.

    New features

    • Cookie management: getCookies(), setCookie(), and deleteCookies() with a typed WebviewCookie model (expiry, SameSite, secure, HTTP-only), alongside the existing clearCookies().
    • Reference-counted environment lifecycle: the WebView2 environment is released when the last controller is disposed, so initializeEnvironment() can be called again - e.g. with a different userDataPath - without restarting the app.
    • Headless usage: a controller can be driven without a Webview widget for background pages; the new setSize() gives the invisible page real bounds so it performs layout.

    Improvements

    • initialize() is re-entrant: concurrent calls join the in-flight attempt, and a failed attempt can be retried.
    • dispose() is idempotent, safe in every lifecycle state, and closes all event streams.
    • Load-error statuses reported by a newer WebView2 runtime than this package knows map to WebErrorStatus.unknown instead of throwing a RangeError.
    • The Webview widget accepts a key and resolves its device pixel ratio per view (multi-window safe).
    • Full dartdoc coverage of the public API.

    Native fixes

    • Fixed inverted success reporting for addVirtualHostNameMapping / removeVirtualHostNameMapping (success was reported as failure).
    • Fixed dispose silently leaking the native webview instance for texture ids that fit in 32 bits.
    • Fixed COM reference leaks and latent use-after-frees in touch pointer events, permission requests, environment creation, WinRT factory access, and native string getters.
    • Non-ASCII additionalArguments now reach Chromium as proper UTF-8 instead of being mangled.
    • Malformed method channel arguments produce an error result instead of terminating the process, and all nullable native strings are converted null-safely.
    • Webview creation failures are surfaced as errors instead of returning a silent, dead instance.

    Toolchain

    • WebView2 SDK 1.0.1210.39 -> 1.0.3967.48, WIL 1.0.220914.1 -> 1.0.260126.7.
    • The plugin builds as C++23 and no longer forces a C++ language level onto the consuming app; the CMake minimum is 3.20.
    • The NuGet bootstrap is SHA-256 verified and dependencies are installed at configure time, so first builds no longer race the imported .targets.
    Open source →
  4. 1.0.0-dev.2 20 Jun 2026 pre-release
    Release notes

    What's Changed

    New Contributors

    Full Changelog: https://github.com/omar-hanafy/webview_flutter_windows/commits/webview_flutter_windows-v1.0.0-dev.2

    Open source →
  5. 1.0.0-dev.1 20 Jun 2026 pre-release

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive