NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #4072 most downloaded on pub.dev
A WebView2-powered webview for Flutter on Windows with seamless composition, keyboard focus integration, and a typed event API.
Last release 9 days ago
29 Sep 2026
Ships on a steady schedule
a new release about every 4 weeks
Nearly every release is documented
notes for 5 of 5 stable releases
Nothing withdrawn
no release was ever pulled
3 months old
7 releases · first in 2026
One column per month.
Add user controls for DevTools and browser zoom by @omar-hanafy in #13
Full Changelog: webview_flutter_windows-v1.2.0...webview_flutter_windows-v1.3.0
WebviewController.setDevToolsEnabled() to control user access to
WebView2 DevTools through keyboard shortcuts and context menus while
preserving programmatic openDevTools() access. User access remains enabled
by default
(#11,
#13).WebviewController.setZoomControlEnabled() to control Ctrl-based user
zoom without resetting the current zoom factor or disabling setZoomFactor().
User zoom remains enabled by default; touch pinch zoom is separate
(#12,
#13).openDevTools() instead of always completing
successfully
(#13).Anchor WebView2 popups to the webview's position in the window by @perkinsben-sst in #8
Full Changelog: webview_flutter_windows-v1.1.1...webview_flutter_windows-v1.2.0
<select>
dropdowns, autofill and passkey bubbles, context menus, permission and
print dialogs, and accessibility hit-testing. The Webview widget now
reports its position to WebView2 after every frame in which its size,
offset or scale factor changed, so scrolling, animations and DPI changes
keep popups anchored, and window moves are forwarded so popups that are
already open stay put
(#7,
#8;
thanks to @perkinsben-sst).offset parameter to WebviewController.setSize for apps
that embed the controller's texture with their own widget: pass the
texture's offset from the window's client origin so WebView2 anchors popups
correctly. Headless callers can leave it at Offset.zero
(#8).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
webview_windows 0.x. See the README's "AI coding-assistant support"
section
(#6).Add runtime control for default context menus by @bradleyburgesscc in #3
Full Changelog: webview_flutter_windows-v1.0.0...webview_flutter_windows-v1.1.0
WebviewController.setDefaultContextMenusEnabled() to enable or disable
WebView2's default context menus for subsequent top-level navigations; menus
remain disabled by default
(#3).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
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.
webview_flutter_windows; migrate
dependencies and imports from webview_windows.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.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).getButton helper is no longer exported.Fixes the long-standing focus loss issue (jnschulze/flutter-webview-windows#230):
Tab past the page's last focusable element
moves focus back to Flutter instead of cycling inside the page forever.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.WebviewController.focus(), WebviewController.releaseFocus(),
the onFocusChanged stream, and hasNativeFocus.getCookies(), setCookie(), and deleteCookies()
with a typed WebviewCookie model (expiry, SameSite, secure, HTTP-only),
alongside the existing clearCookies().initializeEnvironment() can be called again - e.g. with a different
userDataPath - without restarting the app.Webview widget for
background pages; the new setSize() gives the invisible page real bounds
so it performs layout.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.WebErrorStatus.unknown instead of throwing a RangeError.Webview widget accepts a key and resolves its device pixel ratio
per view (multi-window safe).addVirtualHostNameMapping /
removeVirtualHostNameMapping (success was reported as failure).dispose silently leaking the native webview instance for texture
ids that fit in 32 bits.additionalArguments now reach Chromium as proper UTF-8 instead
of being mangled.1.0.1210.39 -> 1.0.3967.48, WIL 1.0.220914.1 ->
1.0.260126.7..targets.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-dev.2
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →