zikzak_inappwebview_android
Android implementation of the zikzak_inappwebview plugin.
5.0.1
6.1K downloads/mo
#3568 most downloaded on pub.dev
arrrrny/zikzak_inappwebview
What this package is like to depend on
Last release today
22 Aug 2026
Release timing varies
gaps range from 8 days to 3 months
Most releases are documented
notes for 58 of 71 stable releases
Nothing withdrawn
no release was ever pulled
2 years old
71 releases · first in 2024
45 releases in the last 12 months
see the full history below
Release timeline
71 releases · Sep 2024 to Aug 2026Releases
latest 60 of 71-
5.0.122 Aug 2026Release notes
Open source →Fixes
- Fixed Android
ClassCastExceptionfailures when enum settings were serialized as string names instead of their expected integer wire values. Added the missing enum wire converters and corrected affected platform-interface JSON mappings.
Release notes
Open source →Fixes
- [Android] Fix
ClassCastException: java.lang.String cannot be cast to java.lang.IntegerinInAppWebViewSettings.parse()— enum settings (forceDark,forceDarkStrategy,mixedContentMode,cacheMode,disabledActionModeMenuItems,overScrollMode,scrollBarStyle,verticalScrollbarPosition,preferredContentMode,webAuthenticationSupport) were being serialized as strings by the Dart side instead of their expected integer wire values. Fixed inzikzak_inappwebview_platform_interface5.0.1.
- Fixed Android
-
5.0.016 Aug 2026Release notes
Open source →Breaking Changes
- Migrated the entire
platform_interfacemodel layer to Zorphy entities — every model class is now a Zorphy entity instead of a hand-written@ExchangeableObject-style class (Phases 1–3j). This changes the public API surface of the platform interface (class structure,toJson/fromJson, equality) and may require updates to custom platform implementations.
Features
- [platform_interface] Migrated model families to Zorphy entities: JS dialogue, ajax request, fetch request, console message, web resource, permission/safe-browsing, navigation, auth/ssl, pull-to-refresh, web storage, web message, web authentication session, context menu, webview environment, chrome safari browser, print job,
InAppBrowserMenuItem, tracing settings, user script, image/rect/screenshot config, in-app webview settings, and script HTML tag attributes
Chores
- Removed the dead
@ExchangeableObjectcodegen toolchain - Removed the Docusaurus website (to be replaced by a zread wiki)
Release notes
Open source →Breaking Changes
- Migrated the entire
platform_interfacemodel layer to Zorphy entities — every model class is now a Zorphy entity instead of a hand-written@ExchangeableObject-style class (Phases 1–3j). This changes the public API surface of the platform interface (class structure,toJson/fromJson, equality) and may require updates to custom platform implementations.
Features
- [platform_interface] Migrated model families to Zorphy entities: JS dialogue, ajax request, fetch request, console message, web resource, permission/safe-browsing, navigation, auth/ssl, pull-to-refresh, web storage, web message, web authentication session, context menu, webview environment, chrome safari browser, print job,
InAppBrowserMenuItem, tracing settings, user script, image/rect/screenshot config, in-app webview settings, and script HTML tag attributes
Chores
- Removed the dead
@ExchangeableObjectcodegen toolchain - Removed the Docusaurus website (to be replaced by a zread wiki)
- Migrated the entire
-
4.10.016 Aug 2026Release notes
Open source →Fixes
- [iOS] Gate
HeadlessInAppWebView.run()on web-process readiness — the first realloadUrlafterrun()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 constant - [iOS] Guard
run()against a missing web view (no silent hang) - [Android] Same headless readiness gate —
run()completes only afteronPageFinishedor a main-frame error (bothInAppWebViewClientandInAppWebViewClientCompat) - [macOS] Same headless readiness gate —
run()completes only afterdidFinish/didFail - [Linux] Same headless readiness gate — the headless "run" channel handler responds only after the first
WEBKIT_LOAD_FINISHED
Features
- [example] Add First-Load Race Stress screen — reproduces the first-load race for headless and visible webviews (fresh webview + immediate
loadUrl, 10 sequential attempts)
- [iOS] Gate
-
4.9.014 Aug 2026Release notes
Open source →Features
- Session recipe — record and replay user sessions in the WebView: JS
tap-listener injection, selector-candidate extraction, scripted click replay,
and recipe models (#216) - Navigation tracker — JS-assisted URL-cycle tracking through the webview (#216)
- Dialogue dismisser — inject JS to auto-dismiss modal dialogs (#216)
- Navigation guards —
keepNavigationInWebViewhelper that keeps user-tapped
links inside the WebView, avoiding iOS universal-link handoff (#216) - [Windows] Virtual host name to folder mapping — CORS-safe serving of local
folders (CORS bypass for local resources) (#185) - [macOS] Popup windows —
window.open/target=_blanknow load their URL
viaWKUIDelegate createWebViewWithoff-screen-window support, reparented
into a Flutter platform view whenonCreateWindowis handled (#182, #183, #187)
Fixes
- [macOS] Popup window crash, settings key, and event delivery fixes (#187)
- [macOS] Network Capture API callbacks never fired — JS bridge name aligned
with iOS/Android soonNetworkRequest/onNetworkResponse/
onNetworkLoadingFinishedreach Dart (#182) - [Linux] Blue screen instead of webview — offscreen rendering via
GtkOffscreenWindow+ software rendering, plusopenDevToolssupport (#184) - [Linux] Native plugin compile regression — broken
takeScreenshotstring
literal and missing include path (#179) - Chore: renamed remaining
flutter_inappwebviewresiduals to
zikzak_inappwebview(JS bridge name, method channel, platform view type id) (#186) - Chore: dependency bumps (npm deps, brace-expansion) (#189, #210)
Release notes
Open source →Features
- Session recipe — record and replay user sessions in the WebView: JS tap-listener injection, selector-candidate extraction, scripted click replay, and recipe models (#216)
- Navigation tracker — JS-assisted URL-cycle tracking through the webview (#216)
- Dialogue dismisser — inject JS to auto-dismiss modal dialogs (#216)
- Navigation guards —
keepNavigationInWebViewhelper that keeps user-tapped links inside the WebView, avoiding iOS universal-link handoff (#216) - [Windows] Virtual host name to folder mapping — CORS-safe serving of local folders (CORS bypass for local resources) (#185)
- [macOS] Popup windows —
window.open/target=_blanknow load their URL viaWKUIDelegate createWebViewWithoff-screen-window support, reparented into a Flutter platform view whenonCreateWindowis handled (#182, #183, #187)
Fixes
- [macOS] Popup window crash, settings key, and event delivery fixes (#187)
- [macOS] Network Capture API callbacks never fired — JS bridge name aligned
with iOS/Android so
onNetworkRequest/onNetworkResponse/onNetworkLoadingFinishedreach Dart (#182) - [Linux] Blue screen instead of webview — offscreen rendering via
GtkOffscreenWindow+ software rendering, plusopenDevToolssupport (#184) - [Linux] Native plugin compile regression — broken
takeScreenshotstring literal and missing include path (#179) - Chore: renamed remaining
flutter_inappwebviewresiduals tozikzak_inappwebview(JS bridge name, method channel, platform view type id) (#186) - Chore: dependency bumps (npm deps, brace-expansion) (#189, #210)
- Session recipe — record and replay user sessions in the WebView: JS
-
4.8.014 Aug 2026Release notes
Open source →Features
- [macOS] Add context-menu support —
disableContextMenu/disableLongPressContextMenuOnLinkssettings now honored,onCreateContextMenuevent fired (#208, fixes #196) - [macOS] Implement WKNavigationDelegate authentication challenges — HTTP basic/digest/NTLM/Negotiate, TLS server-trust, and client-certificate requests (#207, fixes #193)
- [macOS] Method-channel parity — ~50 controller methods implemented on iOS are now available on macOS (MissingPluginException resolved) (#205, fixes #197)
- [macOS] Implement print page support reusing the iOS pattern (#190, fixes #188)
- [Android] Add window-insets control for web content (
setInsetsForWebContentToIgnoreequivalent) (#206, fixes #198) - [iOS] Add
UIScrollViewbouncesHorizontally / bouncesVertically (iOS 17.4+) (#209, fixes #199) - [Android] Bump toolchain — androidx.webkit 1.15.0, AGP 8.13.1, JVM target 17 (#211, fixes #201)
- Refactor: split
InAppWebViewControllerinto domain-specific controllers (#176) - Refactor: standardize dispose patterns across all wrapper classes (#175)
Fixes
- [macOS] Implement media-capture permission prompts for
getUserMedia()— no longer silently denied (#204, fixes #195) - [macOS] Implement
webViewWebContentProcessDidTerminate— no more blank/unrecoverable WebView after content-process kill (#203, fixes #194) - [macOS] Await
shouldOverrideUrlLoadingresponse so cancellations are honored (#202, fixes #192) - [macOS] Use
WKWebpagePreferences.allowsContentJavaScriptinstead of deprecatedWKPreferences.javaScriptEnabled(#212, fixes #200) - [macOS] Replace deprecated
javaScriptEnabledread ingetSelectedText(#213) - [macOS] Repair SPM build — duplicate
Util.swift, iOS-only APIs, init ordering (#215) - [macOS] Add missing
onPageCommitVisible/onDidReceiveServerRedirectForProvisionalNavigationmethod-channel handlers (#217) - [Windows] Forward
additionalBrowserArgumentsto WebView2 (#214, fixes #178) - [Windows] Implement
addJavaScriptHandler+ JS bridge (fixes #177) - [Android] Use
androidx.core.view.OnApplyWindowInsetsListenertype directly (#217)
Release notes
Open source →Features
- [macOS] Add context-menu support —
disableContextMenu/disableLongPressContextMenuOnLinkssettings now honored,onCreateContextMenuevent fired (#208, fixes #196) - [macOS] Implement WKNavigationDelegate authentication challenges — HTTP basic/digest/NTLM/Negotiate, TLS server-trust, and client-certificate requests (#207, fixes #193)
- [macOS] Method-channel parity — ~50 controller methods implemented on iOS are now available on macOS (MissingPluginException resolved) (#205, fixes #197)
- [macOS] Implement print page support reusing the iOS pattern (#190, fixes #188)
- [Android] Add window-insets control for web content (
setInsetsForWebContentToIgnoreequivalent) (#206, fixes #198) - [iOS] Add
UIScrollViewbouncesHorizontally / bouncesVertically (iOS 17.4+) (#209, fixes #199) - [Android] Bump toolchain — androidx.webkit 1.15.0, AGP 8.13.1, JVM target 17 (#211, fixes #201)
- Refactor: split
InAppWebViewControllerinto domain-specific controllers (#176) - Refactor: standardize dispose patterns across all wrapper classes (#175)
Fixes
- [macOS] Implement media-capture permission prompts for
getUserMedia()— no longer silently denied (#204, fixes #195) - [macOS] Implement
webViewWebContentProcessDidTerminate— no more blank/unrecoverable WebView after content-process kill (#203, fixes #194) - [macOS] Await
shouldOverrideUrlLoadingresponse so cancellations are honored (#202, fixes #192) - [macOS] Use
WKWebpagePreferences.allowsContentJavaScriptinstead of deprecatedWKPreferences.javaScriptEnabled(#212, fixes #200) - [macOS] Replace deprecated
javaScriptEnabledread ingetSelectedText(#213) - [macOS] Repair SPM build — duplicate
Util.swift, iOS-only APIs, init ordering (#215) - [macOS] Add missing
onPageCommitVisible/onDidReceiveServerRedirectForProvisionalNavigationmethod-channel handlers (#217) - [Windows] Forward
additionalBrowserArgumentsto WebView2 (#214, fixes #178) - [Windows] Implement
addJavaScriptHandler+ JS bridge (fixes #177) - [Android] Use
androidx.core.view.OnApplyWindowInsetsListenertype directly (#217)
- [macOS] Add context-menu support —
-
4.7.029 Jul 2026Release notes
Open source →Features
- Added iOS proxy support (iOS 17.0+) — set process-wide proxy for WKWebView
- Added Network Capture API — capture XHR/fetch requests and response bodies
- Added Network Capture Scraper example screen
Fixes
- Fixed: Web/WASM build failure —
HeadlessInAppWebViewWeb.dispose()missing
isKeepAliveparameter that was added toPlatformHeadlessInAppWebView.dispose
interface, causingdart2wasmanddart2jscompile errors - Fixed iOS: removed duplicate
elseclause inProxyManagerguard statement - Fixed iOS: added missing Flutter import and fixed Swift API usage in
ProxyManager - Fixed Linux: removed unused
<iostream>includes and callload_initialin
createHeadless - Fixed Linux: fixed pre-existing C++ issues in
in_app_webview.cc - Fixed: restored
Disposableinterface onPlatformProxyController
Chores
- Removed network capture example from public package
- Added
.clangdandcompile_flags.txtfor Linux Flutter header resolution - Bumped svgo dependency
Release notes
Open source →Features
- Added iOS proxy support (iOS 17.0+) — set process-wide proxy for WKWebView
- Added Network Capture API — capture XHR/fetch requests and response bodies
- Added Network Capture Scraper example screen
Fixes
- Fixed: Web/WASM build failure —
HeadlessInAppWebViewWeb.dispose()missingisKeepAliveparameter that was added toPlatformHeadlessInAppWebView.disposeinterface, causingdart2wasmanddart2jscompile errors - Fixed iOS: removed duplicate
elseclause inProxyManagerguard statement - Fixed iOS: added missing Flutter import and fixed Swift API usage in
ProxyManager - Fixed Linux: removed unused
<iostream>includes and callload_initialincreateHeadless - Fixed Linux: fixed pre-existing C++ issues in
in_app_webview.cc - Fixed: restored
Disposableinterface onPlatformProxyController
Chores
- Removed network capture example from public package
- Added
.clangdandcompile_flags.txtfor Linux Flutter header resolution - Bumped svgo dependency
-
4.6.321 Jul 2026Release notes
Open source →- Fixed: Web/WASM build failure —
HeadlessInAppWebViewWeb.dispose()missing
isKeepAliveparameter that was added toPlatformHeadlessInAppWebView.dispose
interface, causingdart2wasmanddart2jscompile errors
- Fixed: Web/WASM build failure —
-
4.6.221 Jul 2026Release notes
Open source →- Fixed: Web/WASM compilation broken by unconditional
dart:ioimport in platform
interface — replaced with conditional exportif (dart.library.io)to compile
a stub on Web/WASM and the realHttpServer-based implementation on native
Release notes
Open source →- Fixed: Web/WASM compilation broken by unconditional
dart:ioimport in platform interface — replaced with conditional exportif (dart.library.io)to compile a stub on Web/WASM and the realHttpServer-based implementation on native
- Fixed: Web/WASM compilation broken by unconditional
-
4.6.021 Jul 2026Release notes
Open source →- Fixed: iOS InAppBrowser crash after SPM migration — storyboard now loaded via
Bundle.moduleinstead of main bundle, resolving "Could not find a storyboard named 'WebView'" exception when opening the in-app browser - Fixed: Android WebView lifecycle —
onFlutterViewDetached()now properly destroys the WebView (guarded against keepAlive) - Fixed: Android WebSettings OEM crash protection — 18
WebSettingsCompat.*calls wrapped in try/catch for Huawei/Honor/OnePlus devices - Fixed: iOS
webViewWebContentProcessDidTerminatenow auto-reloads after 500ms withisDisposedguard - Fixed: iOS
URLValidationManagerwired into navigation flow — blocksjavascript:,vbscript:,jar,wyciwygschemes at native level - Fixed:
InAppLocalhostServerrace condition — addedCompletergate to preventSocketException: Address already in useon rapid start/close - Fixed:
PullToRefreshController— added_isDisposedguard withMissingPluginExceptioncatch - Fixed: Headless WebView cleanup — explicit
stopLoading()and script removal in deinit/dispose across iOS, Android, and Dart layers - Fixed: webkit2gtk-4.0 compile failure with proper memory cleanup
- Feature: Web platform — added
addJavaScriptHandler/removeJavaScriptHandler/hasJavaScriptHandlerviapostMessagebridge - Feature: Windows — wired
WebViewEnvironmentSettings.userDataFolderinto WebView2 initialization with writability verification - Security: iOS native URL scheme validation via
URLValidationManager - Perf: CookieManager — all 7 methods wrapped with
Lock.synchronized()for thread-safe concurrent access
- Fixed: iOS InAppBrowser crash after SPM migration — storyboard now loaded via
-
4.5.320 Jul 2026Release notes
Open source →- Fixed: iOS InAppBrowser crash after SPM migration — storyboard now loaded via
Bundle.moduleinstead of main bundle, resolving "Could not find a storyboard named 'WebView'" exception when opening the in-app browser - Cleaned up
anyversion constraints from dev/example pubspec files
- Fixed: iOS InAppBrowser crash after SPM migration — storyboard now loaded via
-
4.5.219 Jul 2026Release notes
Open source →- Fixed: Generator no longer produces
InvalidTypefor fields referencing other generated types (e.g.PrintJobColorMode?) — theexchangeable_object_generatornow falls back to AST source text when the analyzer can't resolve a type - Feature: Added camelCase convenience getters for all
SCREAMING_SNAKE_CASEenum constants (e.g.UserScriptInjectionTime.atDocumentStart,Sandbox.allowPopups,ConsoleMessageLevel.warning) - Fixed:
exchangeable_enum_generatorno longer attempts to generate getters for Dart reserved words (default,switch, etc.) or@ExchangeableEnumCustomValuefields with non-standard types - Docs: Added
GENERATOR_NOTES.mddocumenting theconsole_message.g.dartnull-safety hand-edit and regeneration workflow
- Fixed: Generator no longer produces
-
4.5.119 Jul 2026Release notes
Open source →- Fixed: macOS
addJavaScriptHandlerbridge now usespostMessagewith a JSON string instead of structured clone — eliminatesEXC_BAD_ACCESScrash in WebCore'swrap<DOMException>when passing large or complex data throughcallHandler - Fixed: macOS
evaluateJavascriptnow returnsnullto Dart instead of throwingPlatformExceptionwhen WKWebView returnsnil(e.g., forundefined,void, or Promise expressions) - Fixed: macOS
initialUserScriptsparameter was silently ignored — WKWebView now properly injects user scripts during initialization - Added:
UserScriptInjectionTime.atDocumentStartandatDocumentEndconvenience getters (in addition to existingAT_DOCUMENT_START/AT_DOCUMENT_END) - Removed: CocoaPods podspec files from iOS and macOS packages (project is now 100% SPM)
- Fixed: macOS
-
4.5.018 Jul 2026Release notes
Open source →- Feature: Added
addJavaScriptHandler/removeJavaScriptHandler/hasJavaScriptHandlersupport on macOS — the JavaScript bridge (window.flutter_inappwebview.callHandler()) is now fully functional, enabling bidirectional communication between Dart and JavaScript in macOS WKWebView - Fixed: macOS
ConsoleMessage.fromMapcrash when receiving nullmessageormessageLevelvalues from JavaScript — fixed at the Swift native layer (coerces null to empty string), Dart macOS controller (null-safe constructor) and sharedConsoleMessage.fromMap(null-safe defaults for all platforms) - Tests: Added unit tests for macOS controller (
addJavaScriptHandlerlifecycle) and platform interface (ConsoleMessage.fromMapnull safety)
- Feature: Added
-
4.4.518 Jul 2026Release notes
Open source →- Fixed: macOS InAppWebView no longer returns WKWebView directly as the platform view — it now wraps it in a container NSView with proper autoresizing masks, eliminating the blank screen caused by a zero-frame WKWebView that couldn't resize to fill its allocated space
- Fixed: macOS example app entitlements — added missing
com.apple.security.network.clientto both DebugProfile and Release entitlements, granting WKWebView's networking process outgoing access so it can load remote web pages under App Sandbox - Updated: Flutter SDK upgrade with project configuration migration across all platforms (Android build.gradle → build.gradle.kts, iOS SceneDelegate, Xcode project updates, platform file regeneration)
-
4.4.403 Jul 2026Release notes
Open source →- Fixed: macOS headless WebView now uses a dedicated off-screen
NSWindowinstead of attaching to the main window withalphaValue = 0.01— eliminates potential mouse event interception behind the Flutter surface while still providing the view hierarchyWKWebViewneeds for rendering and JS execution
- Fixed: macOS headless WebView now uses a dedicated off-screen
-
4.4.324 Jun 2026Release notes
Open source →- Fixed: iOS JavaScript handler error messages with newlines, backslashes, or
carriage returns are now properly escaped via
JSONSerializationinstead of single-quote interpolation that producedSyntaxError: Unexpected EOFand left JS promises pending forever — matches Android'sJSONObject.quote()
- Fixed: iOS JavaScript handler error messages with newlines, backslashes, or
carriage returns are now properly escaped via
-
4.4.219 Jun 2026Release notes
Open source →- Fixed: Windows and Linux
onWebViewCreatedtype mismatch — platform controllers (InAppWebViewWindowsController,LinuxInAppWebViewController) are now wrapped throughcontrollerFromPlatformto return properInAppWebViewControllerinstances
- Fixed: Windows and Linux
-
4.4.116 Jun 2026Release notes
Open source →- Fixed: Android build failure —
URLRequestconstructor calls inInAppWebViewClient,InAppWebViewClientCompat, andInAppWebViewChromeClientnow pass the 5thtimeoutIntervalparameter to match the updated constructor signature
- Fixed: Android build failure —
-
4.4.016 Jun 2026Release notes
Open source →- Feature: Android URLRequest now supports
timeoutInterval— the InAppWebView will stop loading after the specified interval, making rendered HTML available for extraction viagetHtml()even if the page hasn't fully loaded - Feature: macOS
URLRequestnative extension with full property support —init(fromPluginMap:)andtoMap()covering method, body, headers, cache policy, network service type, timeout interval, and more - Refactor: macOS
InAppWebViewuses the newURLRequest(fromPluginMap:)extension for cleaner URL loading in both initial load andloadUrl() - Chore:
prepare_for_publish.shno longer attempts to update CocoaPods podspecs (migrated to Swift Package Manager) - Chore: Updated dependency lock files
- Feature: Android URLRequest now supports
-
4.3.815 Jun 2026 -
4.3.715 Jun 2026 -
4.3.614 Jun 2026Release notes
Open source →- Merge pull request #147 from arrrrny/fix/issue144-stuck-loading
- fixed timer issue
- bumped gradle
- fix(android): resume global WebView timers when preparing a new InAppWebView
- chore(android): bump Gradle wrapper to 9.1.1 for AGP 9.0
- chore(android): upgrade AGP to 9.0.0
- chore(android): add .kotlin/ to gitignore
- chore: remove accidentally committed .kotlin session file
- fix(android): upgrade Gradle/AGP/Kotlin and migrate off kotlin-android
- Merge branch 'publish-4.3.5'
- 'pub get
- Merge pull request #146 from arrrrny/fix/v4.3.5-build-fixes
-
4.3.512 Jun 2026Release notes
Open source →- Fixed: macOS build failure — removed stray
}that closed theInAppWebViewclass prematurely, leavingWKNavigationDelegate/WKUIDelegatemethods outside the class scope. Also removed deadresultvariable reference fromshouldOverrideUrlLoading(#145) - Fixed: Android AGP 9+ build failure — replaced
getDefaultProguardFile('proguard-android.txt')withgetDefaultProguardFile('proguard-android-optimize.txt')inandroid/build.gradle(#143) - Fixed: Linux build failure with WebKitGTK 2.52+ — migrated deprecated
webkit_web_view_run_javascript→webkit_web_view_evaluate_javascriptand replaced removed synchronouswebkit_web_view_get_snapshotwith async version (#142) - Fixed: Windows build failure — removed
pluginClassfrom pubspec.yaml; the Windows plugin is Dart-only (useswebview_windowspackage), so no native CMake project is needed (#142) - Fixed: CMake include directory visibility for Linux plugin — changed
INTERFACEtoPUBLICso the plugin can find its own headers (#142)
- Fixed: macOS build failure — removed stray
-
4.3.412 Jun 2026Release notes
Open source →- Fixed: iOS
type 'int' is not a subtype of type 'WebAuthenticationSupport?'crash ingetHtml()/getSettings()—InAppWebViewSettings.fromMap()now convertswebAuthenticationSupportviaWebAuthenticationSupport.fromNativeValue()instead of assigning the rawintvalue from the platform channel map
- Fixed: iOS
-
4.3.304 Jun 2026 -
4.3.204 Jun 2026Release notes
Open source →- fix: use KVC for webAuthenticationSupport to avoid SDK availability issue
-
4.3.104 Jun 2026Release notes
Open source →- Fixed: iOS Passkey/WebAuthn support — wired
webAuthenticationSupportsetting into nativeWKWebViewWebAuthenticationSupport.boundKeychainForPasskeyson iOS 16.4+ (#131) - Fixed: macOS 26 crash in AppKit NSToolbar when InAppBrowser window closes — added
isClosingguard andwindow?.delegate = nilbefore teardown (#87) - Fixed: macOS WebView native frame drift with fractional platform view widths —
overrode
layout()to explicitly sync frame from superview bounds (#93) - Fixed: iOS
shouldOverrideUrlLoadingdeadlock when adding custom headers — addedisNavigatingWithCustomActionflag to prevent re-entrant navigation callbacks (#132) - Fixed:
InAppLocalhostServerfails after app resumes from background — addedAppLifecycleListenerto close and reset server state on resume (#113) - Fixed:
build_runnerfails due to missinggeneratorspackage — added as dev_dependency in platform_interface pubspec (#139) - Feature:
WebAuthenticationSessionnow supportsadditionalHeaderFieldsfor custom HTTP headers — available on iOS 17.4+ (#100) - Chore: Raised minimum Flutter version from 3.29.0 to 3.38.6 for iOS touch fix (#128)
- Fixed: iOS Passkey/WebAuthn support — wired
-
4.3.003 Jun 2026Release notes
Open source →- Fixed: iOS
onCreateWindownot respecting client return value — now returnsnilwhen the client handles the window creation, preventing WebKit from creating an unused window WebView (#107) - Fixed: iOS crash on
InAppWebView.dispose()when KVO observers fire after disposal — addedisDisposedguard toobserveValue, madedispose()idempotent withisDisposed = true, addeddispose()call indeinit(#120, #129) - Fixed: macOS SIGSEGV crash in
callAsyncJavaScript— addedisDisposedguard toobserveValue, added optional chaining onchannel?.invokeMethodcalls (#126) - Chore: Updated minimum iOS build version to 16.0
- Fixed: iOS
-
4.2.403 Jun 2026Release notes
Open source →- Feature: WebAuthn (passkey) support — added
webAuthenticationSupportsetting +WebAuthenticationSupportenum for native passkey authentication in WebViews (Upstream PR #2743 @susemeee) - Feature: Google Pay support — added
paymentRequestEnabledsetting forWebViewFeature.PAYMENT_REQUEST(Upstream PR #2722 @AzarouAmine) - Feature: Audio capture for file picker — added
getAudioIntent()for<input type="file" accept="audio/*">support (Upstream PR #2823 @PrimozRatej) - Fixed: takeScreenshot now renders content outside the viewport — disabled scrollbars during capture, added layout() before draw() (Upstream PR #2390 @lucasdessy)
- Fixed: AJAX blob interception — use
request.responseinstead of undefinedblobvariable (Upstream PR #2099 @EArminjon) - Fixed: Chrome not supported error handling — wrapped
onCustomTabsConnectedin try-catch withonBrowserNotSupportedcallback (Upstream PR #2070 @luckyhandler) - Fixed: Restored working
.g.dartfiles after build_runner regeneration - Chore: Bumped
androidx.webkit:webkitfrom 1.13.0 to 1.14.0 - Chore: Added
generatorsdependency to platform_interface for proper code generation
- Feature: WebAuthn (passkey) support — added
-
4.2.303 Jun 2026Release notes
Open source →- Fixed: Android onWebViewCreated not firing on ~50% release cold starts — deferred JS bridge registration (addJavascriptInterface, addDocumentStartJavaScript) to View.post() so binder IPC doesn't suppress engine's onPlatformViewCreated dispatch
- Fixed: Changed dismissDialogues setting default from true to false (opt-in behavior)
- Fixed: Android 15 edge-to-edge — skip deprecated setNavigationBarColor/setNavigationBarDividerColor APIs on SDK 35+ (PR #2729 @NIKDISSV-Forever)
- Fixed: Java deprecation cleanup — new Handler(Looper.getMainLooper()), clearSessionCookies() helper, @SuppressWarnings on WebViewClient classes (PR #2817 @Khairul989)
- Fixed: KeepAlive NPE — use remove() instead of put(null), copy-on-iterate in dispose() (PR #2638 @mustafayildiz12)
- Fixed: CVE-2020-6563 — sandbox file access protection in file picker (PR #2243 @AlexV525)
- Fixed: debugAssertNotDisposed() crash — use this._channel directly in disposeChannel() (PR #2558 @MSOB7YY)
- Fixed: onCreateWindow URL for window.open() — handle HitTestResult.UNKNOWN_TYPE (PR #1679 @zopagaduanjr)
- Fixed: pana/pub.dev analysis failure — analysis_options.yaml linter rules (PR #2758 @note11g)
- Fixed: Bumped example app AGP 8.4.0 → 8.6.0
- Feature: KeepAlive URL tracking — added currentUrl to InAppWebViewControllerKeepAliveProps (PR #2614 @Hamed233)
- Chore: Added .build/ to .gitignore — removed 3,344 tracked SPM build artifacts
- Chore: Improved changelog generation — root CHANGELOG.md as single source of truth, actual commit messages as fallback instead of generic placeholder
- Chore: Created UPSTREAM_ISSUES_TRIAGE.md — comprehensive triage of all 156 upstream issues
- Chore: Created 72 tracking issues, closed 18 non-applicable, notified 25+ upstream PR authors
-
4.2.203 Jun 2026 -
4.2.124 May 2026 -
4.2.023 May 2026 -
4.1.023 May 2026 -
4.0.1001 Apr 2026 -
4.0.917 Feb 2026 -
4.0.816 Feb 2026 -
4.0.616 Feb 2026 -
4.0.516 Feb 2026Release notes
Open source →-
Fix: updated missing linux package reference
-
Updated dependencies to use hosted references
-
-
4.0.416 Feb 2026Nothing published for this version
-
4.0.316 Feb 2026Release notes
Open source →-
Fixed: EdgeInsets conversion issue on getHtml
-
Fix: Added getHtml method for macos,windows,web,linux platforms
-
Updated dependencies to use hosted references
-
-
4.0.216 Feb 2026Release notes
Open source →- Prepare for publishing version 4.0.2
- Updated dependencies to use hosted references
-
4.0.116 Feb 2026Nothing published for this version
-
4.0.015 Feb 2026Release notes
Open source →- Refactored with Gemini-3-Flash
- Updated dependencies to use hosted references
-
3.0.005 Nov 2025Release notes
Open source →- removed macos,linux,web,windows support. implemented fixes for issues with Claude AI
- Updated dependencies to use hosted references
-
2.4.2825 Jul 2025 -
2.4.2725 Jul 2025Nothing published for this version
-
2.4.1825 Jul 2025Nothing published for this version
-
2.4.1725 Jul 2025Nothing published for this version
-
2.4.1625 Jul 2025Nothing published for this version
-
2.4.1525 Jul 2025Nothing published for this version
-
2.4.1425 Jul 2025Nothing published for this version
-
2.4.1125 Jul 2025Nothing published for this version
-
2.4.1025 Jul 2025Nothing published for this version
-
2.4.816 Jun 2025 -
2.4.716 Jun 2025 -
2.4.616 Jun 2025 -
2.4.316 Jun 2025 -
2.4.215 Jun 2025Release notes
Open source →- bump OrderedSet to 6.0.3 to satisfy Xcode 16
- Updated dependencies to use hosted references
-
2.4.115 Jun 2025