NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #3656 most downloaded on pub.dev
Internal annotations used by the generator of zikzak_inappwebview plugin
Last release 1 months ago
16 Aug 2026
Release timing varies
gaps range from 8 days to 3 months
Most releases are documented
notes for 50 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
2 years old
74 releases · first in 2024
fix(publish): convert example pubspec sibling deps to versioned for 4…
fix(publish): convert example pubspec sibling deps to versioned for 4…
HeadlessInAppWebView.run() on web-process readiness — the first real loadUrl after run() could be silently dropped by WKWebView while its content process was still booting, surfacing as "Unable to fetch data" on the very first request. run() now completes only after the initial navigation reaches a terminal state (didFinish/didFail); signal-driven, no timeout constantrun() against a missing web view (no silent hang)run() completes only after onPageFinished or a main-frame error (both InAppWebViewClient and InAppWebViewClientCompat)run() completes only after didFinish/didFailWEBKIT_LOAD_FINISHEDloadUrl, 10 sequential attempts)@ExchangeableObject / @ExchangeableEnum definitions via zorphy_migrator@ExchangeableObject codegen gaps surfaced during the navigation-family migration (zorphy !Type gap) (#349)One column per month.
Session recipe — record and replay user sessions in the WebView: JS tap-listener injection, selector-candidate extraction, scripted click replay, and
keepNavigationInWebView helper that keeps user-tappedwindow.open / target=_blank now load their URLWKUIDelegate createWebViewWith off-screen-window support, reparentedonCreateWindow is handled (#182, #183, #187)onNetworkRequest / onNetworkResponse /onNetworkLoadingFinished reach Dart (#182)GtkOffscreenWindow + software rendering, plus openDevTools support (#184)takeScreenshot stringflutter_inappwebview residuals tozikzak_inappwebview (JS bridge name, method channel, platform view type id) (#186)[macOS] Use WKWebpagePreferences.allowsContentJavaScript instead of deprecated WKPreferences.javaScriptEnabled ( #212 , fixes #200 )
disableContextMenu / disableLongPressContextMenuOnLinks settings now honored, onCreateContextMenu event fired (#208, fixes #196)setInsetsForWebContentToIgnore equivalent) (#206, fixes #198)UIScrollView bouncesHorizontally / bouncesVertically (iOS 17.4+) (#209, fixes #199)InAppWebViewController into domain-specific controllers (#176)getUserMedia() — no longer silently denied (#204, fixes #195)webViewWebContentProcessDidTerminate — no more blank/unrecoverable WebView after content-process kill (#203, fixes #194)shouldOverrideUrlLoading response so cancellations are honored (#202, fixes #192)WKWebpagePreferences.allowsContentJavaScript instead of deprecated WKPreferences.javaScriptEnabled (#212, fixes #200)javaScriptEnabled read in getSelectedText (#213)Util.swift, iOS-only APIs, init ordering (#215)onPageCommitVisible / onDidReceiveServerRedirectForProvisionalNavigation method-channel handlers (#217)additionalBrowserArguments to WebView2 (#214, fixes #178)addJavaScriptHandler + JS bridge (fixes #177)androidx.core.view.OnApplyWindowInsetsListener type directly (#217)Added iOS proxy support (iOS 17.0+) — set process-wide proxy for WKWebView
HeadlessInAppWebViewWeb.dispose() missingisKeepAlive parameter that was added to PlatformHeadlessInAppWebView.disposedart2wasm and dart2js compile errorselse clause in ProxyManager guard statementProxyManager<iostream> includes and call load_initial increateHeadlessin_app_webview.ccDisposable interface on PlatformProxyController.clangd and compile_flags.txt for Linux Flutter header resolutionFixed: Web/WASM build failure — HeadlessInAppWebViewWeb.dispose() missing isKeepAlive parameter that was added to PlatformHeadlessInAppWebView.dispose
HeadlessInAppWebViewWeb.dispose() missingisKeepAlive parameter that was added to PlatformHeadlessInAppWebView.disposedart2wasm and dart2js compile errorsFixed: Web/WASM compilation broken by unconditional dart:io import in platform interface — replaced with conditional export if (dart.library.io) to co
dart:io import in platformif (dart.library.io) to compileHttpServer-based implementation on nativeFixed: iOS compile error in URLValidationManager integration — removed extraneous argument label url: from validateURL call that caused Swift compiler
URLValidationManager integration — removed extraneous
argument label url: from validateURL call that caused Swift compiler error
when archiving for deviceFixed: iOS InAppBrowser crash after SPM migration — storyboard now loaded via Bundle.module instead of main bundle, resolving "Could not find a storyb
Bundle.module instead of main bundle, resolving "Could not find a storyboard
named 'WebView'" exception when opening the in-app browseronFlutterViewDetached() now properly
destroys the WebView (guarded against keepAlive)WebSettingsCompat.*
calls wrapped in try/catch for Huawei/Honor/OnePlus deviceswebViewWebContentProcessDidTerminate now auto-reloads after
500ms with isDisposed guardURLValidationManager wired into navigation flow — blocks
javascript:, vbscript:, jar, wyciwyg schemes at native levelInAppLocalhostServer race condition — added Completer gate to
prevent SocketException: Address already in use on rapid start/closePullToRefreshController — added _isDisposed guard with
MissingPluginException catchstopLoading() and script
removal in deinit/dispose across iOS, Android, and Dart layersaddJavaScriptHandler/removeJavaScriptHandler/
hasJavaScriptHandler via postMessage bridgeWebViewEnvironmentSettings.userDataFolder into
WebView2 initialization with writability verificationURLValidationManagerLock.synchronized() for
thread-safe concurrent accessFixed: iOS InAppBrowser crash after SPM migration — storyboard now loaded via Bundle.module instead of main bundle, resolving "Could not find a storyb
Bundle.module instead of main bundle, resolving "Could not find a storyboard
named 'WebView'" exception when opening the in-app browserany version constraints from dev/example pubspec filesFixed: Generator no longer produces InvalidType for fields referencing other generated types (e.g. PrintJobColorMode?) — the exchangeable_object_gener
InvalidType for fields referencing
other generated types (e.g. PrintJobColorMode?) — the exchangeable_object_generator
now falls back to AST source text when the analyzer can't resolve a typeSCREAMING_SNAKE_CASE
enum constants (e.g. UserScriptInjectionTime.atDocumentStart,
Sandbox.allowPopups, ConsoleMessageLevel.warning)exchangeable_enum_generator no longer attempts to generate getters
for Dart reserved words (default, switch, etc.) or @ExchangeableEnumCustomValue
fields with non-standard typesGENERATOR_NOTES.md documenting the console_message.g.dart
null-safety hand-edit and regeneration workflowFixed: macOS addJavaScriptHandler bridge now uses postMessage with a JSON string instead of structured clone — eliminates EXC_BAD_ACCESS crash in WebC
addJavaScriptHandler bridge now uses postMessage with a JSON
string instead of structured clone — eliminates EXC_BAD_ACCESS crash in
WebCore's wrap<DOMException> when passing large or complex data through
callHandlerevaluateJavascript now returns null to Dart instead of
throwing PlatformException when WKWebView returns nil (e.g., for
undefined, void, or Promise expressions)initialUserScripts parameter was silently ignored — WKWebView
now properly injects user scripts during initializationUserScriptInjectionTime.atDocumentStart and atDocumentEnd
convenience getters (in addition to existing AT_DOCUMENT_START / AT_DOCUMENT_END)Feature: Added addJavaScriptHandler / removeJavaScriptHandler / hasJavaScriptHandler support on macOS — the JavaScript bridge (window.flutter_inappweb
addJavaScriptHandler / removeJavaScriptHandler /
hasJavaScriptHandler support on macOS — the JavaScript bridge
(window.flutter_inappwebview.callHandler()) is now fully functional,
enabling bidirectional communication between Dart and JavaScript in
macOS WKWebViewConsoleMessage.fromMap crash when receiving null message
or messageLevel values from JavaScript — fixed at the Swift native layer
(coerces null to empty string), Dart macOS controller (null-safe constructor)
and shared ConsoleMessage.fromMap (null-safe defaults for all platforms)addJavaScriptHandler lifecycle)
and platform interface (ConsoleMessage.fromMap null safety)Fixed: macOS InAppWebView no longer returns WKWebView directly as the platform view — it now wraps it in a container NSView with proper autoresizing m
com.apple.security.network.client to both DebugProfile and Release
entitlements, granting WKWebView's networking process outgoing access so it
can load remote web pages under App SandboxFixed: macOS headless WebView now uses a dedicated off-screen NSWindow instead of attaching to the main window with alphaValue = 0.01 — eliminates pot
NSWindow instead
of attaching to the main window with alphaValue = 0.01 — eliminates potential
mouse event interception behind the Flutter surface while still providing the
view hierarchy WKWebView needs for rendering and JS executionFixed: iOS JavaScript handler error messages with newlines, backslashes, or carriage returns are now properly escaped via JSONSerialization instead of
JSONSerialization instead of
single-quote interpolation that produced SyntaxError: Unexpected EOF and
left JS promises pending forever — matches Android's JSONObject.quote()Fixed: Windows and Linux onWebViewCreated type mismatch — platform controllers (InAppWebViewWindowsController, LinuxInAppWebViewController) are now wr
onWebViewCreated type mismatch — platform controllers
(InAppWebViewWindowsController, LinuxInAppWebViewController) are now wrapped through
controllerFromPlatform to return proper InAppWebViewController instancesFixed: Android build failure — URLRequest constructor calls in InAppWebViewClient, InAppWebViewClientCompat, and InAppWebViewChromeClient now pass the
URLRequest constructor calls in InAppWebViewClient,
InAppWebViewClientCompat, and InAppWebViewChromeClient now pass the 5th timeoutInterval
parameter to match the updated constructor signatureFeature: Android URLRequest now supports timeoutInterval — the InAppWebView will stop loading after the specified interval, making rendered HTML avail
timeoutInterval — the InAppWebView will stop
loading after the specified interval, making rendered HTML available for extraction via
getHtml() even if the page hasn't fully loadedURLRequest native extension with full property support —
init(fromPluginMap:) and toMap() covering method, body, headers, cache policy,
network service type, timeout interval, and moreInAppWebView uses the new URLRequest(fromPluginMap:) extension
for cleaner URL loading in both initial load and loadUrl()prepare_for_publish.sh no longer attempts to update CocoaPods podspecs
(migrated to Swift Package Manager)fixed macos setting and removed pods from example
Remove debugPrint dealloc statements from Swift deinit blocks
Merge pull request #147 from arrrrny/fix/issue144-stuck-loading
Fixed: Linux build failure with WebKitGTK 2.52+ — migrated deprecated webkit_web_view_run_javascript → webkit_web_view_evaluate_javascript and replace…
} that closed the InAppWebView class prematurely,
leaving WKNavigationDelegate/WKUIDelegate methods outside the class scope. Also removed
dead result variable reference from shouldOverrideUrlLoading (#145)getDefaultProguardFile('proguard-android.txt')
with getDefaultProguardFile('proguard-android-optimize.txt') in android/build.gradle (#143)webkit_web_view_run_javascript → webkit_web_view_evaluate_javascript and replaced
removed synchronous webkit_web_view_get_snapshot with async version (#142)pluginClass from pubspec.yaml; the Windows plugin
is Dart-only (uses webview_windows package), so no native CMake project is needed (#142)INTERFACE to PUBLIC
so the plugin can find its own headers (#142)Fixed: iOS type 'int' is not a subtype of type 'WebAuthenticationSupport?' crash in getHtml()/getSettings() — InAppWebViewSettings.fromMap() now conve
type 'int' is not a subtype of type 'WebAuthenticationSupport?' crash in
getHtml()/getSettings() — InAppWebViewSettings.fromMap() now converts
webAuthenticationSupport via WebAuthenticationSupport.fromNativeValue() instead of
assigning the raw int value from the platform channel map-
fix: use KVC for webAuthenticationSupport to avoid SDK availability issue
Fixed: iOS Passkey/WebAuthn support — wired webAuthenticationSupport setting into native WKWebViewWebAuthenticationSupport.boundKeychainForPasskeys on
webAuthenticationSupport setting into
native WKWebViewWebAuthenticationSupport.boundKeychainForPasskeys on iOS 16.4+ (#131)isClosing guard and window?.delegate = nil before teardown (#87)layout() to explicitly sync frame from superview bounds (#93)shouldOverrideUrlLoading deadlock when adding custom headers — added
isNavigatingWithCustomAction flag to prevent re-entrant navigation callbacks (#132)InAppLocalhostServer fails after app resumes from background — added
AppLifecycleListener to close and reset server state on resume (#113)build_runner fails due to missing generators package — added as dev_dependency
in platform_interface pubspec (#139)WebAuthenticationSession now supports additionalHeaderFields for custom
HTTP headers — available on iOS 17.4+ (#100)Fixed: iOS onCreateWindow not respecting client return value — now returns nil when the client handles the window creation, preventing WebKit from cre
onCreateWindow not respecting client return value — now returns nil when
the client handles the window creation, preventing WebKit from creating an unused
window WebView (#107)InAppWebView.dispose() when KVO observers fire after disposal —
added isDisposed guard to observeValue, made dispose() idempotent with
isDisposed = true, added dispose() call in deinit (#120, #129)callAsyncJavaScript — added isDisposed guard to
observeValue, added optional chaining on channel?.invokeMethod calls (#126)Feature: WebAuthn (passkey) support — added webAuthenticationSupport setting + WebAuthenticationSupport enum for native passkey authentication in WebV
webAuthenticationSupport setting +
WebAuthenticationSupport enum for native passkey authentication in WebViews
(Upstream PR #2743 @susemeee)paymentRequestEnabled setting for
WebViewFeature.PAYMENT_REQUEST (Upstream PR #2722 @AzarouAmine)getAudioIntent() for
<input type="file" accept="audio/*"> support (Upstream PR #2823 @PrimozRatej)request.response instead of undefined blob
variable (Upstream PR #2099 @EArminjon)onCustomTabsConnected in
try-catch with onBrowserNotSupported callback (Upstream PR #2070 @luckyhandler).g.dart files after build_runner regenerationandroidx.webkit:webkit from 1.13.0 to 1.14.0generators dependency to platform_interface for proper code generationFixed: CVE-2020-6563 — sandbox file access protection in file picker (PR #2243 @AlexV525)
Prepare for publishing version 4.2.2
Prepare for publishing version 4.2.1
Prepare for publishing version 4.2.0
Prepare for publishing version 4.1.0
Prepare for publishing version 4.0.10
Prepare for publishing version 4.0.9
Prepare for publishing version 4.0.8
Fixed: GetHtml is tested on mac/web
Fix: updated missing linux package reference
Fix: updated missing linux package reference
Updated dependencies to use hosted references
Nothing published for this version
Fixed: EdgeInsets conversion issue on getHtml
Fixed: EdgeInsets conversion issue on getHtml
Fix: Added getHtml method for macos,windows,web,linux platforms
Updated dependencies to use hosted references
Prepare for publishing version 4.0.2
Nothing published for this version
Updated dependencies to use hosted references
removed macos,linux,web,windows support. implemented fixes for issues with Claude AI
Updated dependencies to use hosted references
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Updated dependencies to use hosted references
Updated dependencies to use hosted references
Updated dependencies to use hosted references
Updated dependencies to use hosted references
Updated dependencies to use hosted references
Updated dependencies to use hosted references
bump OrderedSet to 6.0.3 to satisfy Xcode 16
Your coding agent can read these notes before it upgrades. Set up the MCP server →