PackageTrack
Sign in Get early access

flutter_inappwebview

A Flutter plugin that allows you to add an inline webview, to use an headless webview, and to open an in-app browser window.

6.1.5 1.2M downloads/mo #317 most downloaded on pub.dev pichillilorenzo/flutter_inappwebview

What this package is like to depend on

Last release 6 months ago

04 Feb 2026

Ships unpredictably

gaps range from 8 days to 1.2 years

Nearly every release is documented

notes for 79 of 79 stable releases

Nothing withdrawn

no release was ever pulled

7 years old

123 releases · first in 2019

1 release in the last 12 months

see the full history below

Release timeline

123 releases · Nov 2019 to Feb 2026
2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 60 of 123
  1. 6.2.0-beta.3 04 Feb 2026 pre-release
    Release notes
    • Added Linux support
    • Updated dependencies to the latest versions for all platform implementations:
      • flutter_inappwebview_platform_interface: ^1.4.0-beta.2 -> ^1.4.0-beta.3
      • flutter_inappwebview_android: ^1.2.0-beta.2 -> ^1.2.0-beta.3
      • flutter_inappwebview_ios: ^1.2.0-beta.2 -> ^1.2.0-beta.3
      • flutter_inappwebview_macos: ^1.2.0-beta.2 -> ^1.2.0-beta.3
      • flutter_inappwebview_web: ^1.2.0-beta.2 -> ^1.2.0-beta.3
      • flutter_inappwebview_windows: ^0.7.0-beta.2 -> ^0.7.0-beta.3
      • flutter_inappwebview_linux: ^0.1.0-beta.1
    • Added InAppWebViewController.getFavicon wrapper with faviconImageFormat support.
    • Fixed "When useShouldInterceptAjaxRequest is true, some ajax requests doesn't work" #2197
    • Mapped isClassSupported, isPropertySupported, isMethodSupported platform interface static methods to the corresponding plugin classes such as InAppWebViewController, InAppWebView, InAppBrowser, etc., in order to check if a class, property, or method is supported by the platform at runtime
    • Updated code generator
    • Minimum Dart SDK ^3.8.0
    • Minimum Flutter SDK >=3.32.0

    Platform Interface

    • Updated flutter_inappwebview_internal_annotations dependency from ^1.2.0 to ^1.3.0
    • Added isClassSupported, isPropertySupported, isMethodSupported static methods for all main classes, such as PlatformInAppWebViewController, InAppWebViewSettings, PlatformInAppBrowser, etc., in order to check if a class, property, or method is supported by the platform at runtime
    • Added isSupported method to all custom enum classes
    • Added saveState, restoreState, requestEnterFullscreen, requestExitFullscreen, setVisible, setTargetRefreshRate, getTargetRefreshRate, requestPointerLock, requestPointerUnlock, getScreenScale, setScreenScale, isVisible, getFrameId, getFavicon, showSaveAsUI, getMemoryUsageTargetLevel, setMemoryUsageTargetLevel methods to PlatformInAppWebViewController class
    • Added useOnAjaxReadyStateChange, useOnAjaxProgress, useOnShowFileChooser, corsAllowlist, itpEnabled, darkMode, disableAnimations, fontAntialias, fontHintingStyle, fontSubpixelLayout, fontDPI, cursorBlinkTime, doubleClickDistance, doubleClickTime, dragThreshold, keyRepeatDelay, keyRepeatInterval, disableWebSecurity, enableWebRTC, webRTCUdpPortsRange, javaScriptCanAccessClipboard, allowModalDialogs, enableMedia, enableEncryptedMedia, enableMediaCapabilities, enableMockCaptureDevices, mediaContentTypesRequiringHardwareSupport, enableJavaScriptMarkup, enable2DCanvasAcceleration, allowTopNavigationToDataUrls properties to InAppWebViewSettings
    • Added onShowFileChooser, onContentLoading, onDOMContentLoaded, onLaunchingExternalUriScheme, onFaviconChanged, onNotificationReceived, onSaveAsUIShowing, onSaveFileSecurityCheckStarting, onScreenCaptureStarting WebView events
    • Added PlatformWebNotificationController class
    • Update code documentation
    • Deprecated onReceivedIcon in favor of onFaviconChanged

    Android Platform

    • Updated native dependencies:
      • implementation from 'androidx.webkit:webkit:1.12.0' to 'androidx.webkit:webkit:1.14.0'
      • implementation from 'androidx.browser:browser:1.8.0' to 'androidx.browser:browser:1.9.0'
      • implementation from 'androidx.appcompat:appcompat:1.6.1' to 'androidx.appcompat:appcompat:1.7.1'
      • implementation from 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0' to 'androidx.swiperefreshlayout:swiperefreshlayout:1.2.0'
    • Updated android native compileOptions to JavaVersion.VERSION_17
    • Implemented saveState, restoreState InAppWebViewController methods
    • Implemented onShowFileChooser WebView event
    • Updated InAppBrowser toolbar top
    • Merged "Android: implemented PlatformPrintJobController.onComplete" #2216 (thanks to Doflatango)
    • Fixed "When useShouldInterceptAjaxRequest is true, some ajax requests doesn't work" #2197
    • Merged "Fixed recursive calling toMap in AndroidInternalStoragePathHandler" #2452 (thanks to roberthofstra)
    • Fixed recursive toMap call for AndroidInternalStoragePathHandler #2451
    • Fixed "Error when updating webview settings Android in v6.2.0-beta.2" #2449
    • Fixed "[Android] Upgrade to AGP 9" #2765
    • Fixed "update android apg version to 8.9.1 or higer" #2761
    • Fixed "InAppWebViewController.goTo" implementation
    • Merged "fix #2484, Remove not-empty assert for Cookie.value" #2486 (thanks to laishere)

    macOS and iOS Platforms

    • Implemented saveState, restoreState InAppWebViewController methods
    • Implemented PlatformProxyController class
    • Add Swift Package Manager support #2409
    • Fixed "[iOS] Webview opened with windowId does not receive javascript handler callback." #2393
    • Fixed internal javascript callback handlers when the WebView has windowId not null
    • Fixed crash of unhandled onPrintRequest WebView event
    • Fixed "When useShouldInterceptAjaxRequest is true, some ajax requests doesn't work" #2197
    • Fixed "iOS App rejected by apple for violating Guideline 2.5.1 - Performance - Software Requirements | Flutter 3.35.x seems to use non-public or deprecated APIs" #2754
    • Fixed "InAppWebViewController.goTo" implementation
    • Merged "Add proxy support for iOS" #2362 (thanks to yerkejs)
    • Merged "🐛 fix MacOS: when using the WebMessageListener onPostMessage method, the message parameter is unexpectedly empty" #2481 (thanks to imoyakin)
    • Merged "fix #2484, Remove not-empty assert for Cookie.value" #2486 (thanks to laishere)
    • Merged "Fix gesture recognition delay prevention for latest Flutter versions" #2538 (thanks to muccy-timeware)

    Windows

    • Updated Microsoft.Web.WebView2 SDK version from 1.0.2849.39 to 1.0.3650.58
    • Implemented getFrameId, getFavicon, showSaveAsUI, getMemoryUsageTargetLevel, setMemoryUsageTargetLevel InAppWebViewController method
    • Added support for onEnterFullscreen, onExitFullscreen, onContentLoading, onDOMContentLoaded, onLaunchingExternalUriScheme, onFaviconChanged, onNotificationReceived, onSaveAsUIShowing, onSaveFileSecurityCheckStarting, onScreenCaptureStarting WebView events.
    • Added native FindInteractionController implementation using WebView2 ICoreWebView2Find.
    • Implemented setFindOptions FindInteractionController method
    • Implemented PlatformWebNotificationController feature
    • Merged "windows: fix WebViewEnvironment dispose crash" #2433 (thanks to GooRingX)
    • Merged "fix #2484, Remove not-empty assert for Cookie.value" #2486 (thanks to laishere)
    • Merged "Prevent Unpredictable Close On Windows" #2543 (thanks to momadvisor)

    Web

    • Updated onCreateWindow WebView event
    • Implemented onCloseWindow, onCallJsHandler WebView events
    • Implemented addJavaScriptHandler, removeJavaScriptHandler, hasJavaScriptHandler, addUserScript, addUserScripts, removeUserScript, removeUserScriptsByGroupName, removeUserScripts, hasUserScript InAppWebViewController methods
    • Implemented setJavaScriptBridgeName, getJavaScriptBridgeName, getDefaultUserAgent InAppWebViewController static methods
    • Implemented javaScriptHandlersOriginAllowList, javaScriptBridgeEnabled, javaScriptBridgeOriginAllowList, hasJavaScriptHandler, addUserScript, addUserScripts, removeUserScript of InAppWebViewSettings
    • Merged "fix #2484, Remove not-empty assert for Cookie.value" #2486 (thanks to laishere)

    Linux

    • Initial implementation
    Open source →
    Release notes
    • Added Linux support
    • Updated dependencies to the latest versions for all platform implementations:
      • flutter_inappwebview_platform_interface: ^1.4.0-beta.2 -> ^1.4.0-beta.3
      • flutter_inappwebview_android: ^1.2.0-beta.2 -> ^1.2.0-beta.3
      • flutter_inappwebview_ios: ^1.2.0-beta.2 -> ^1.2.0-beta.3
      • flutter_inappwebview_macos: ^1.2.0-beta.2 -> ^1.2.0-beta.3
      • flutter_inappwebview_web: ^1.2.0-beta.2 -> ^1.2.0-beta.3
      • flutter_inappwebview_windows: ^0.7.0-beta.2 -> ^0.7.0-beta.3
      • flutter_inappwebview_linux: ^0.1.0-beta.1
    • Added InAppWebViewController.getFavicon wrapper with faviconImageFormat support.
    • Fixed "When useShouldInterceptAjaxRequest is true, some ajax requests doesn't work" #2197
    • Mapped isClassSupported, isPropertySupported, isMethodSupported platform interface static methods to the corresponding plugin classes such as InAppWebViewController, InAppWebView, InAppBrowser, etc., in order to check if a class, property, or method is supported by the platform at runtime
    • Updated code generator
    • Minimum Dart SDK ^3.8.0
    • Minimum Flutter SDK >=3.32.0

    Platform Interface

    • Updated flutter_inappwebview_internal_annotations dependency from ^1.2.0 to ^1.3.0
    • Added isClassSupported, isPropertySupported, isMethodSupported static methods for all main classes, such as PlatformInAppWebViewController, InAppWebViewSettings, PlatformInAppBrowser, etc., in order to check if a class, property, or method is supported by the platform at runtime
    • Added isSupported method to all custom enum classes
    • Added saveState, restoreState, requestEnterFullscreen, requestExitFullscreen, setVisible, setTargetRefreshRate, getTargetRefreshRate, requestPointerLock, requestPointerUnlock, getScreenScale, setScreenScale, isVisible, getFrameId, getFavicon, showSaveAsUI, getMemoryUsageTargetLevel, setMemoryUsageTargetLevel methods to PlatformInAppWebViewController class
    • Added useOnAjaxReadyStateChange, useOnAjaxProgress, useOnShowFileChooser, corsAllowlist, itpEnabled, darkMode, disableAnimations, fontAntialias, fontHintingStyle, fontSubpixelLayout, fontDPI, cursorBlinkTime, doubleClickDistance, doubleClickTime, dragThreshold, keyRepeatDelay, keyRepeatInterval, disableWebSecurity, enableWebRTC, webRTCUdpPortsRange, javaScriptCanAccessClipboard, allowModalDialogs, enableMedia, enableEncryptedMedia, enableMediaCapabilities, enableMockCaptureDevices, mediaContentTypesRequiringHardwareSupport, enableJavaScriptMarkup, enable2DCanvasAcceleration, allowTopNavigationToDataUrls properties to InAppWebViewSettings
    • Added onShowFileChooser, onContentLoading, onDOMContentLoaded, onLaunchingExternalUriScheme, onFaviconChanged, onNotificationReceived, onSaveAsUIShowing, onSaveFileSecurityCheckStarting, onScreenCaptureStarting WebView events
    • Added PlatformWebNotificationController class
    • Update code documentation
    • Deprecated onReceivedIcon in favor of onFaviconChanged

    Android Platform

    • Updated native dependencies:
      • implementation from 'androidx.webkit:webkit:1.12.0' to 'androidx.webkit:webkit:1.14.0'
      • implementation from 'androidx.browser:browser:1.8.0' to 'androidx.browser:browser:1.9.0'
      • implementation from 'androidx.appcompat:appcompat:1.6.1' to 'androidx.appcompat:appcompat:1.7.1'
      • implementation from 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0' to 'androidx.swiperefreshlayout:swiperefreshlayout:1.2.0'
    • Updated android native compileOptions to JavaVersion.VERSION_17
    • Implemented saveState, restoreState InAppWebViewController methods
    • Implemented onShowFileChooser WebView event
    • Updated InAppBrowser toolbar top
    • Merged "Android: implemented PlatformPrintJobController.onComplete" #2216 (thanks to Doflatango)
    • Fixed "When useShouldInterceptAjaxRequest is true, some ajax requests doesn't work" #2197
    • Merged "Fixed recursive calling toMap in AndroidInternalStoragePathHandler" #2452 (thanks to roberthofstra)
    • Fixed recursive toMap call for AndroidInternalStoragePathHandler #2451
    • Fixed "Error when updating webview settings Android in v6.2.0-beta.2" #2449
    • Fixed "[Android] Upgrade to AGP 9" #2765
    • Fixed "update android apg version to 8.9.1 or higer" #2761
    • Fixed "InAppWebViewController.goTo" implementation
    • Merged "fix #2484, Remove not-empty assert for Cookie.value" #2486 (thanks to laishere)

    macOS and iOS Platforms

    • Implemented saveState, restoreState InAppWebViewController methods
    • Implemented PlatformProxyController class
    • Add Swift Package Manager support #2409
    • Fixed "[iOS] Webview opened with windowId does not receive javascript handler callback." #2393
    • Fixed internal javascript callback handlers when the WebView has windowId not null
    • Fixed crash of unhandled onPrintRequest WebView event
    • Fixed "When useShouldInterceptAjaxRequest is true, some ajax requests doesn't work" #2197
    • Fixed "iOS App rejected by apple for violating Guideline 2.5.1 - Performance - Software Requirements | Flutter 3.35.x seems to use non-public or deprecated APIs" #2754
    • Fixed "InAppWebViewController.goTo" implementation
    • Merged "Add proxy support for iOS" #2362 (thanks to yerkejs)
    • Merged "🐛 fix MacOS: when using the WebMessageListener onPostMessage method, the message parameter is unexpectedly empty" #2481 (thanks to imoyakin)
    • Merged "fix #2484, Remove not-empty assert for Cookie.value" #2486 (thanks to laishere)
    • Merged "Fix gesture recognition delay prevention for latest Flutter versions" #2538 (thanks to muccy-timeware)

    Windows

    • Updated Microsoft.Web.WebView2 SDK version from 1.0.2849.39 to 1.0.3650.58
    • Implemented getFrameId, getFavicon, showSaveAsUI, getMemoryUsageTargetLevel, setMemoryUsageTargetLevel InAppWebViewController method
    • Added support for onEnterFullscreen, onExitFullscreen, onContentLoading, onDOMContentLoaded, onLaunchingExternalUriScheme, onFaviconChanged, onNotificationReceived, onSaveAsUIShowing, onSaveFileSecurityCheckStarting, onScreenCaptureStarting WebView events.
    • Added native FindInteractionController implementation using WebView2 ICoreWebView2Find.
    • Implemented setFindOptions FindInteractionController method
    • Implemented PlatformWebNotificationController feature
    • Merged "windows: fix WebViewEnvironment dispose crash" #2433 (thanks to GooRingX)
    • Merged "fix #2484, Remove not-empty assert for Cookie.value" #2486 (thanks to laishere)
    • Merged "Prevent Unpredictable Close On Windows" #2543 (thanks to momadvisor)

    Web

    • Updated onCreateWindow WebView event
    • Implemented onCloseWindow, onCallJsHandler WebView events
    • Implemented addJavaScriptHandler, removeJavaScriptHandler, hasJavaScriptHandler, addUserScript, addUserScripts, removeUserScript, removeUserScriptsByGroupName, removeUserScripts, hasUserScript InAppWebViewController methods
    • Implemented setJavaScriptBridgeName, getJavaScriptBridgeName, getDefaultUserAgent InAppWebViewController static methods
    • Implemented javaScriptHandlersOriginAllowList, javaScriptBridgeEnabled, javaScriptBridgeOriginAllowList, hasJavaScriptHandler, addUserScript, addUserScripts, removeUserScript of InAppWebViewSettings
    • Merged "fix #2484, Remove not-empty assert for Cookie.value" #2486 (thanks to laishere)

    Linux

    • Initial implementation
    Open source →
  2. 6.2.0-beta.2 26 Nov 2024 pre-release
    Release notes
    • Updated dependencies to the latest versions for all platform implementations:
      • flutter_inappwebview_platform_interface: ^1.4.0-beta.1 -> ^1.4.0-beta.2
      • flutter_inappwebview_android: ^1.2.0-beta.1 -> ^1.2.0-beta.2
      • flutter_inappwebview_ios: ^1.2.0-beta.1 -> ^1.2.0-beta.2
      • flutter_inappwebview_macos: ^1.2.0-beta.1 -> ^1.2.0-beta.2
      • flutter_inappwebview_web: ^1.2.0-beta.1 -> ^1.2.0-beta.2
      • flutter_inappwebview_windows: ^0.7.0-beta.1 -> ^0.7.0-beta.2
    • Fixed specific URLAuthenticationChallenge type for onReceivedHttpAuthRequest, onReceivedServerTrustAuthRequest, onReceivedClientCertRequest events of HeadlessInAppWebView
    • Fixed missing return type for InAppWebViewController.getJavaScriptBridgeName static method

    Platform Interface

    • Updated flutter_inappwebview_internal_annotations dependency from ^1.1.1 to ^1.2.0
    • Updated fromMap static method and toMap method implementations
    • Updated all WebView events with return type Future to type FutureOr in order to not force the usage of async keyword
    • Added byName, name, asNameMap custom enum classes methods
    • Added statusBarEnabled, browserAcceleratorKeysEnabled, generalAutofillEnabled, passwordAutosaveEnabled, isPinchZoomEnabled, hiddenPdfToolbarItems, reputationCheckingRequired, nonClientRegionSupportEnabled, alpha, isUserInteractionEnabled properties to InAppWebViewSettings
    • Added isInterfaceSupported, getProcessInfos, getFailureReportFolderPath methods to PlatformWebViewEnvironment class
    • Added isInterfaceSupported, setInputMethodEnabled, hideInputMethod, showInputMethod methods to PlatformInAppWebViewController class
    • Added exclusiveUserDataFolderAccess, isCustomCrashReportingEnabled, enableTrackingPrevention, areBrowserExtensionsEnabled, channelSearchKind, releaseChannels, scrollbarStyle properties to WebViewEnvironmentSettings
    • Added onDownloadStarting WebView event and deprecated onDownloadStartRequest event
    • Added onNewBrowserVersionAvailable, onBrowserProcessExited, onProcessInfosChanged events to PlatformWebViewEnvironment class
    • Fixed missing PrintJobOrientation android values

    Android Platform

    • Implemented hideInputMethod, showInputMethod InAppWebViewController methods
    • Implemented isUserInteractionEnabled, alpha properties of InAppWebViewSettings
    • Merged "Show / Hide / Disable / Enable soft Keyboard Input (Android & iOS)" #2408 (thanks to Mecharyry)
    • Fixed "[Android] PrintJobOrientation _TypeError (type 'Null' is not a subtype of type 'int')" #2413
    • Fixed "Accessibility Android" #1694
    • Fixed "Automatic font scale according to accessibility option 'font size' of device does not work on Android" #540
    • Fixed "callHandler method is not injected into InAppBrowser" #1973

    iOS Platform

    • Implemented setInputMethodEnabled, hideInputMethod InAppWebViewController methods
    • Implemented isUserInteractionEnabled, alpha properties of InAppWebViewSettings
    • Merged "Show / Hide / Disable / Enable soft Keyboard Input (Android & iOS)" #2408 (thanks to Mecharyry)
    • Fixed "In iOS version 17.2, when moving the input focus in a WebView, an unknown area appears at the top of the screen." #1947

    macOS Platform

    • Implemented alpha property of InAppWebViewSettings

    Windows Platform

    • Updated Microsoft.Web.WebView2 SDK version from 1.0.2792.45 to 1.0.2849.39
    • Implemented disableDefaultErrorPage, statusBarEnabled, browserAcceleratorKeysEnabled, generalAutofillEnabled, passwordAutosaveEnabled, isPinchZoomEnabled, allowsBackForwardNavigationGestures, hiddenPdfToolbarItems, reputationCheckingRequired, nonClientRegionSupportEnabled properties of InAppWebViewSettings
    • Implemented isInterfaceSupported, getProcessInfos, getFailureReportFolderPath WebViewEnvironment methods
    • Implemented isInterfaceSupported, getZoomScale InAppWebViewController method
    • Implemented onDownloadStarting, onAcceleratorKeyPressed WebView event
    • Implemented exclusiveUserDataFolderAccess, isCustomCrashReportingEnabled, enableTrackingPrevention, areBrowserExtensionsEnabled, channelSearchKind, releaseChannels, scrollbarStyle properties of WebViewEnvironmentSettings
    • Implemented onNewBrowserVersionAvailable, onBrowserProcessExited, onProcessInfosChanged WebViewEnvironment events
    • Send mouse leave region event to native view
    • Fixed wrong channel name when creating a WebViewEnvironment instance
    • Fixed "[Windows] Has an overlay on the desktop when the application is minimized" #2402
    • Fixed "[Windows] missing implementation of onPermissionRequest event will cause crash when requested by the webpage" #2404
    • Fixed "Windows: getCookies return empty list" #2314
    Open source →
    Release notes
    • Updated dependencies to the latest versions for all platform implementations:
      • flutter_inappwebview_platform_interface: ^1.4.0-beta.1 -> ^1.4.0-beta.2
      • flutter_inappwebview_android: ^1.2.0-beta.1 -> ^1.2.0-beta.2
      • flutter_inappwebview_ios: ^1.2.0-beta.1 -> ^1.2.0-beta.2
      • flutter_inappwebview_macos: ^1.2.0-beta.1 -> ^1.2.0-beta.2
      • flutter_inappwebview_web: ^1.2.0-beta.1 -> ^1.2.0-beta.2
      • flutter_inappwebview_windows: ^0.7.0-beta.1 -> ^0.7.0-beta.2
    • Fixed specific URLAuthenticationChallenge type for onReceivedHttpAuthRequest, onReceivedServerTrustAuthRequest, onReceivedClientCertRequest events of HeadlessInAppWebView
    • Fixed missing return type for InAppWebViewController.getJavaScriptBridgeName static method

    Platform Interface

    • Updated flutter_inappwebview_internal_annotations dependency from ^1.1.1 to ^1.2.0
    • Updated fromMap static method and toMap method implementations
    • Updated all WebView events with return type Future to type FutureOr in order to not force the usage of async keyword
    • Added byName, name, asNameMap custom enum classes methods
    • Added statusBarEnabled, browserAcceleratorKeysEnabled, generalAutofillEnabled, passwordAutosaveEnabled, isPinchZoomEnabled, hiddenPdfToolbarItems, reputationCheckingRequired, nonClientRegionSupportEnabled, alpha, isUserInteractionEnabled properties to InAppWebViewSettings
    • Added isInterfaceSupported, getProcessInfos, getFailureReportFolderPath methods to PlatformWebViewEnvironment class
    • Added isInterfaceSupported, setInputMethodEnabled, hideInputMethod, showInputMethod methods to PlatformInAppWebViewController class
    • Added exclusiveUserDataFolderAccess, isCustomCrashReportingEnabled, enableTrackingPrevention, areBrowserExtensionsEnabled, channelSearchKind, releaseChannels, scrollbarStyle properties to WebViewEnvironmentSettings
    • Added onDownloadStarting WebView event and deprecated onDownloadStartRequest event
    • Added onNewBrowserVersionAvailable, onBrowserProcessExited, onProcessInfosChanged events to PlatformWebViewEnvironment class
    • Fixed missing PrintJobOrientation android values

    Android Platform

    • Implemented hideInputMethod, showInputMethod InAppWebViewController methods
    • Implemented isUserInteractionEnabled, alpha properties of InAppWebViewSettings
    • Merged "Show / Hide / Disable / Enable soft Keyboard Input (Android & iOS)" #2408 (thanks to Mecharyry)
    • Fixed "[Android] PrintJobOrientation _TypeError (type 'Null' is not a subtype of type 'int')" #2413
    • Fixed "Accessibility Android" #1694
    • Fixed "Automatic font scale according to accessibility option 'font size' of device does not work on Android" #540
    • Fixed "callHandler method is not injected into InAppBrowser" #1973

    iOS Platform

    • Implemented setInputMethodEnabled, hideInputMethod InAppWebViewController methods
    • Implemented isUserInteractionEnabled, alpha properties of InAppWebViewSettings
    • Merged "Show / Hide / Disable / Enable soft Keyboard Input (Android & iOS)" #2408 (thanks to Mecharyry)
    • Fixed "In iOS version 17.2, when moving the input focus in a WebView, an unknown area appears at the top of the screen." #1947

    macOS Platform

    • Implemented alpha property of InAppWebViewSettings

    Windows Platform

    • Updated Microsoft.Web.WebView2 SDK version from 1.0.2792.45 to 1.0.2849.39
    • Implemented disableDefaultErrorPage, statusBarEnabled, browserAcceleratorKeysEnabled, generalAutofillEnabled, passwordAutosaveEnabled, isPinchZoomEnabled, allowsBackForwardNavigationGestures, hiddenPdfToolbarItems, reputationCheckingRequired, nonClientRegionSupportEnabled properties of InAppWebViewSettings
    • Implemented isInterfaceSupported, getProcessInfos, getFailureReportFolderPath WebViewEnvironment methods
    • Implemented isInterfaceSupported, getZoomScale InAppWebViewController method
    • Implemented onDownloadStarting, onAcceleratorKeyPressed WebView event
    • Implemented exclusiveUserDataFolderAccess, isCustomCrashReportingEnabled, enableTrackingPrevention, areBrowserExtensionsEnabled, channelSearchKind, releaseChannels, scrollbarStyle properties of WebViewEnvironmentSettings
    • Implemented onNewBrowserVersionAvailable, onBrowserProcessExited, onProcessInfosChanged WebViewEnvironment events
    • Send mouse leave region event to native view
    • Fixed wrong channel name when creating a WebViewEnvironment instance
    • Fixed "[Windows] Has an overlay on the desktop when the application is minimized" #2402
    • Fixed "[Windows] missing implementation of onPermissionRequest event will cause crash when requested by the webpage" #2404
    • Fixed "Windows: getCookies return empty list" #2314
    Open source →
  3. 6.2.0-beta.1 05 Nov 2024 pre-release
    Release notes
    • Updated dependencies to the latest versions for all platform implementations:
      • flutter_inappwebview_platform_interface: ^1.3.0 -> ^1.4.0-beta.1
      • flutter_inappwebview_android: ^1.1.3 -> ^1.2.0-beta.1
      • flutter_inappwebview_ios: ^1.1.2 -> ^1.2.0-beta.1
      • flutter_inappwebview_macos: ^1.1.2 -> ^1.2.0-beta.1
      • flutter_inappwebview_web: ^1.1.2 -> ^1.2.0-beta.1
      • flutter_inappwebview_windows: ^0.6.0 -> ^0.7.0-beta.1

    Implemented security features to better manage access to the native javascript bridge.

    Platform Interface

    • Updated static fromMap implementation for some classes
    • Updated kJavaScriptHandlerForbiddenNames list
    • Added PlatformInAppLocalhostServer.onData parameter to set a custom on data server callback
    • Added javaScriptBridgeEnabled, javaScriptBridgeOriginAllowList, javaScriptBridgeForMainFrameOnly, pluginScriptsOriginAllowList, pluginScriptsForMainFrameOnly, javaScriptHandlersOriginAllowList, javaScriptHandlersForMainFrameOnly, scrollMultiplier InAppWebViewSettings parameters
    • Added setJavaScriptBridgeName, getJavaScriptBridgeName static WebView controller methods
    • Added requestFocus WebView method
    • Added onProcessFailed WebView event
    • Added regexToAllowSyncUrlLoading Android-specific property to InAppWebViewSettings
    • Added JavaScriptHandlerFunctionData type
    • Deprecated JavaScriptHandlerCallback type in favor of JavaScriptHandlerFunction type
    • Deprecated InAppWebViewSettings.forceDark and InAppWebViewSettings.forceDarkStrategy Android-only properties in favor of InAppWebViewSettings.algorithmicDarkeningAllowed
    • Fixed X509Certificate PEM base64 decoding
    • Fixed specific URLAuthenticationChallenge type for onReceivedHttpAuthRequest, onReceivedServerTrustAuthRequest, onReceivedClientCertRequest events

    Android Platform

    • Added InAppWebViewController.enableSlowWholeDocumentDraw static method
    • Added CookieManager.flush method
    • Added support for UserScript.forMainFrameOnly parameter
    • Implemented requestFocus WebView method
    • Updated UserScript at document end implementation
    • Updated InAppWebViewController.takeScreenshot implementation to support screenshot out of visible viewport when InAppWebViewController.enableSlowWholeDocumentDraw is called
    • Fixed "After dispose a InAppWebViewKeepAlive using InAppWebViewController.disposeKeepAlive. NullPointerException is thrown when main activity enter destroyed state." #2025
    • Fixed crash when trying to open InAppBrowser with R.menu.menu_main on release mode
    • Fixed "android.webkit.WebSettingsWrapper cannot be cast to com.android.webview.chromium.ContentSettingsAdapter" #2397
    • Merged "Prevent blank InAppBrowser Activity from being restored" #1984 (thanks to ShuheiSuzuki-07)
    • Merged "Update Android Cookie Expiration date format to 24-hour format (HH)" #2389 (thanks to takuyaaaaaaahaaaaaa)
    • Merged "[Android] allow sync navigation requests using a regular expression" #2008 (thanks to lyb5834)

    macOS and iOS Platforms

    • Implemented requestFocus WebView method
    • Updated ConsoleLogJS internal PluginScript to main-frame only as using it on non-main frames could cause issues such as #1738
    • Moved WKUserContentController initialization on preWKWebViewConfiguration to fix possible undefined is not an object (evaluating 'window.webkit.messageHandlers') javascript error
    • Added support for UserScript.allowedOriginRules parameter
    • Merged "change priority of DispatchQueue" #2322 (thanks to nnnlog)
    • ios: Fixed show, hide methods and hidden setting for InAppBrowser
    • macOS: Implemented also clearFocus WebView method
    • macOS: Implemented workaround for "[macOS] Copy Shortcut does not work if TextField outside of WebView has focus" #2380

    Windows Platform

    • Updated scrollMultiplier default value from 6 to 1
    • Added support for UserScript.allowedOriginRules and UserScript.forMainFrameOnly parameters
    • Implemented onReceivedHttpAuthRequest, onReceivedClientCertRequest, onReceivedServerTrustAuthRequest, onRenderProcessGone, onRenderProcessUnresponsive, onWebContentProcessDidTerminate, onProcessFailed WebView events
    • Implemented clearSslPreferences WebView method
    • Fixed get_optional_fl_map_value implementation in utils/flutter.h
    • Fixed "Error in transparentBackground handling in Windows" #2391

    Web Platform

    • Merged "[web] support iframe role and aria-hidden attributes" 2293 (thanks to p-mazhnik)
    • Fixed 'Type 'int' is not a subtype of type 'JSValue' in type cast' when compiling/running using WASM
    Open source →
    Release notes
    • Updated dependencies to the latest versions for all platform implementations:
      • flutter_inappwebview_platform_interface: ^1.3.0 -> ^1.4.0-beta.1
      • flutter_inappwebview_android: ^1.1.3 -> ^1.2.0-beta.1
      • flutter_inappwebview_ios: ^1.1.2 -> ^1.2.0-beta.1
      • flutter_inappwebview_macos: ^1.1.2 -> ^1.2.0-beta.1
      • flutter_inappwebview_web: ^1.1.2 -> ^1.2.0-beta.1
      • flutter_inappwebview_windows: ^0.6.0 -> ^0.7.0-beta.1
    • Fixed specific URLAuthenticationChallenge type for onReceivedHttpAuthRequest, onReceivedServerTrustAuthRequest, onReceivedClientCertRequest events

    Implemented security features to better manage access to the native javascript bridge.

    Platform Interface

    • Updated static fromMap implementation for some classes
    • Updated kJavaScriptHandlerForbiddenNames list
    • Added PlatformInAppLocalhostServer.onData parameter to set a custom on data server callback
    • Added javaScriptBridgeEnabled, javaScriptBridgeOriginAllowList, javaScriptBridgeForMainFrameOnly, pluginScriptsOriginAllowList, pluginScriptsForMainFrameOnly, javaScriptHandlersOriginAllowList, javaScriptHandlersForMainFrameOnly, scrollMultiplier InAppWebViewSettings parameters
    • Added setJavaScriptBridgeName, getJavaScriptBridgeName static WebView controller methods
    • Added requestFocus WebView method
    • Added onProcessFailed WebView event
    • Added regexToAllowSyncUrlLoading Android-specific property to InAppWebViewSettings
    • Added JavaScriptHandlerFunctionData type
    • Deprecated JavaScriptHandlerCallback type in favor of JavaScriptHandlerFunction type
    • Deprecated InAppWebViewSettings.forceDark and InAppWebViewSettings.forceDarkStrategy Android-only properties in favor of InAppWebViewSettings.algorithmicDarkeningAllowed
    • Fixed X509Certificate PEM base64 decoding

    Android Platform

    • Added InAppWebViewController.enableSlowWholeDocumentDraw static method
    • Added CookieManager.flush method
    • Added support for UserScript.forMainFrameOnly parameter
    • Implemented requestFocus WebView method
    • Updated UserScript at document end implementation
    • Updated InAppWebViewController.takeScreenshot implementation to support screenshot out of visible viewport when InAppWebViewController.enableSlowWholeDocumentDraw is called
    • Fixed "After dispose a InAppWebViewKeepAlive using InAppWebViewController.disposeKeepAlive. NullPointerException is thrown when main activity enter destroyed state." #2025
    • Fixed crash when trying to open InAppBrowser with R.menu.menu_main on release mode
    • Fixed "android.webkit.WebSettingsWrapper cannot be cast to com.android.webview.chromium.ContentSettingsAdapter" #2397
    • Merged "Prevent blank InAppBrowser Activity from being restored" #1984 (thanks to ShuheiSuzuki-07)
    • Merged "Update Android Cookie Expiration date format to 24-hour format (HH)" #2389 (thanks to takuyaaaaaaahaaaaaa)
    • Merged "[Android] allow sync navigation requests using a regular expression" #2008 (thanks to lyb5834)

    macOS and iOS Platforms

    • Implemented requestFocus WebView method
    • Updated ConsoleLogJS internal PluginScript to main-frame only as using it on non-main frames could cause issues such as #1738
    • Moved WKUserContentController initialization on preWKWebViewConfiguration to fix possible undefined is not an object (evaluating 'window.webkit.messageHandlers') javascript error
    • Added support for UserScript.allowedOriginRules parameter
    • Merged "change priority of DispatchQueue" #2322 (thanks to nnnlog)
    • ios: Fixed show, hide methods and hidden setting for InAppBrowser
    • macOS: Implemented also clearFocus WebView method
    • macOS: Implemented workaround for "[macOS] Copy Shortcut does not work if TextField outside of WebView has focus" #2380

    Windows Platform

    • Updated scrollMultiplier default value from 6 to 1
    • Added support for UserScript.allowedOriginRules and UserScript.forMainFrameOnly parameters
    • Implemented onReceivedHttpAuthRequest, onReceivedClientCertRequest, onReceivedServerTrustAuthRequest, onRenderProcessGone, onRenderProcessUnresponsive, onWebContentProcessDidTerminate, onProcessFailed WebView events
    • Implemented clearSslPreferences WebView method
    • Fixed get_optional_fl_map_value implementation in utils/flutter.h
    • Fixed "Error in transparentBackground handling in Windows" #2391

    Web Platform

    • Merged "[web] support iframe role and aria-hidden attributes" 2293 (thanks to p-mazhnik)
    • Fixed 'Type 'int' is not a subtype of type 'JSValue' in type cast' when compiling/running using WASM
    Open source →
  4. 6.1.5 08 Oct 2024
    Release notes
    • Updated dependencies to the latest versions for all platform implementations:
      • flutter_inappwebview_windows: ^0.5.0 -> ^0.6.0

    Windows Platform

    • Updated code to support multiple flutter windows
    • Fixed InAppWebViewController.callAsyncJavaScript not working with JSON objects
    • Fixed onLoadResourceWithCustomScheme WebView event called every time
    Open source →
    Release notes
    • Updated dependencies to the latest versions for all platform implementations:
      • flutter_inappwebview_windows: ^0.5.0 -> ^0.6.0

    Windows Platform

    • Updated code to support multiple flutter windows
    • Fixed InAppWebViewController.callAsyncJavaScript not working with JSON objects
    • Fixed onLoadResourceWithCustomScheme WebView event called every time
    Open source →
  5. 6.1.4 02 Oct 2024
    Release notes

    6.1.4

    • Updated dependencies to the latest versions for all platform implementations:
      • flutter_inappwebview_platform_interface: ^1.2.0 -> ^1.3.0
      • flutter_inappwebview_android: ^1.1.1 -> ^1.1.3
      • flutter_inappwebview_ios: ^1.1.1 -> ^1.1.2
      • flutter_inappwebview_macos: ^1.1.1 -> ^1.1.2
      • flutter_inappwebview_web: ^1.1.1 -> ^1.1.2
      • flutter_inappwebview_windows: ^0.4.0 -> ^0.5.0

    Android Platform

    • Removed webview/plugin_scripts_js/ConsoleLogJS.java file, use native WebChromeClient.onConsoleMessage instead

    Windows Platform

    • Implemented shouldInterceptRequest, onLoadResourceWithCustomScheme WebView events
    Open source →
    Release notes
    • Updated dependencies to the latest versions for all platform implementations:
      • flutter_inappwebview_platform_interface: ^1.2.0 -> ^1.3.0
      • flutter_inappwebview_android: ^1.1.1 -> ^1.1.3
      • flutter_inappwebview_ios: ^1.1.1 -> ^1.1.2
      • flutter_inappwebview_macos: ^1.1.1 -> ^1.1.2
      • flutter_inappwebview_web: ^1.1.1 -> ^1.1.2
      • flutter_inappwebview_windows: ^0.4.0 -> ^0.5.0

    Android Platform

    • Removed webview/plugin_scripts_js/ConsoleLogJS.java file, use native WebChromeClient.onConsoleMessage instead

    Windows Platform

    • Implemented shouldInterceptRequest, onLoadResourceWithCustomScheme WebView events
    Open source →
  6. 6.1.3 29 Sep 2024
    Release notes
    • Updated dependencies to the latest versions for all platform implementations:
      • flutter_inappwebview_platform_interface: ^1.1.0 -> ^1.2.0
      • flutter_inappwebview_android: ^1.1.0+4 -> ^1.1.1
      • flutter_inappwebview_ios: ^1.1.0+3 -> ^1.1.1
      • flutter_inappwebview_macos: ^1.1.0+3 -> ^1.1.1
      • flutter_inappwebview_web: ^1.1.0+2 -> ^1.1.1
      • flutter_inappwebview_windows: ^0.3.0 -> ^0.4.0

    Windows Platform

    • Updated shouldOverrideUrlLoading implementation using the Chrome DevTools Protocol API Fetch.requestPaused event
    Open source →
    Release notes
    • Updated dependencies to the latest versions for all platform implementations:
      • flutter_inappwebview_platform_interface: ^1.1.0 -> ^1.2.0
      • flutter_inappwebview_android: ^1.1.0+4 -> ^1.1.1
      • flutter_inappwebview_ios: ^1.1.0+3 -> ^1.1.1
      • flutter_inappwebview_macos: ^1.1.0+3 -> ^1.1.1
      • flutter_inappwebview_web: ^1.1.0+2 -> ^1.1.1
      • flutter_inappwebview_windows: ^0.3.0 -> ^0.4.0

    Windows Platform

    • Updated shouldOverrideUrlLoading implementation using the Chrome DevTools Protocol API Fetch.requestPaused event
    Open source →
  7. 6.1.2 27 Sep 2024
    Release notes
    • Updated minimum platform implementation versions

    Windows Platform

    • Implemented pause, resume, getCertificate methods for InAppWebViewController
    • Implemented onPermissionRequest WebView event
    • Fixed InAppWebViewController.evaluateJavascript not working with JSON objects
    • Fixed InAppWebViewManager::METHOD_CHANNEL_NAME c++ value
    • Fixed InAppWebViewController.takeScreenshot to behave consistently with the other platforms
    Open source →
    Release notes
    • Updated minimum platform implementation versions

    Windows Platform

    • Implemented pause, resume, getCertificate methods for InAppWebViewController
    • Implemented onPermissionRequest WebView event
    • Fixed InAppWebViewController.evaluateJavascript not working with JSON objects
    • Fixed InAppWebViewManager::METHOD_CHANNEL_NAME c++ value
    • Fixed InAppWebViewController.takeScreenshot to behave consistently with the other platforms
    Open source →
  8. 6.1.1 26 Sep 2024
    Release notes
    • Updated README
    • Updated pubspec.yaml
    • Updated minimum platform implementation versions
    Open source →
    Release notes
    • Updated README
    • Updated pubspec.yaml
    • Updated minimum platform implementation versions
    Open source →
  9. 6.1.0 23 Sep 2024
    Release notes
    • Added initial Windows support
    • Added InAppWebView widget MacOS support
    • Added privacy manifest for MacOS
    • Migrated web support to package:web.
    • Updated minimum supported SDK version to Flutter 3.24/Dart 3.5.
    • Updated androidx.webkit:webkit:1.8.0 to androidx.webkit:webkit:1.12.0
    • Updated androidx.browser:browser:1.6.0 to androidx.browser:browser:1.8.0
    • Fixed "[MACOS] launching InAppBrowser with 'hidden: true' calls onExit immediately" #1939
    • Fixed XCode 16 build
    • Removed unsupported WebViewFeature.SUPPRESS_ERROR_PAGE
    • Merged "Add privacy manifest for iOS" #2029 (thanks to ueman)
    • Merged "Remove references to deprecated v1 Android embedding" #2176 (thanks to gmackall)
    Open source →
    Release notes
    • Added initial Windows support
    • Added InAppWebView widget MacOS support
    • Added privacy manifest for MacOS
    • Migrated web support to package:web.
    • Updated minimum supported SDK version to Flutter 3.24/Dart 3.5.
    • Updated androidx.webkit:webkit:1.8.0 to androidx.webkit:webkit:1.12.0
    • Updated androidx.browser:browser:1.6.0 to androidx.browser:browser:1.8.0
    • Fixed "[MACOS] launching InAppBrowser with 'hidden: true' calls onExit immediately" #1939
    • Fixed XCode 16 build
    • Removed unsupported WebViewFeature.SUPPRESS_ERROR_PAGE
    • Merged "Add privacy manifest for iOS" #2029 (thanks to ueman)
    • Merged "Remove references to deprecated v1 Android embedding" #2176 (thanks to gmackall)
    Open source →
  10. 6.1.0+1 23 Sep 2024
    Release notes
    • Updated README
    Open source →
  11. 6.0.0 25 Dec 2023
    Release notes
    • Updated minimum platform interface and implementation versions
    • Merged "Added == operator and hashCode to WebUri" #1941 (thanks to daisukeueta)
    Open source →
    Release notes
    • Updated minimum platform interface and implementation versions
    • Merged "Added == operator and hashCode to WebUri" #1941 (thanks to daisukeueta)
    Open source →
  12. 6.0.0-rc.3 23 Dec 2023 pre-release
    Release notes
    • Updated minimum platform interface and implementation versions
    • Fix typos and other code improvements (thanks to michalsrutek)
    • Fixed "runtime issue of SecTrustCopyExceptions 'This method should not be called on the main thread as it may lead to UI unresponsiveness.' when using onReceivedServerTrustAuthRequest" #1924
    • Merged "💥 Fix iPad crash due to missing sourceView" #1933 (thanks to michalsrutek)
    • Merged "💥 Fix crash - remove force unwrapping from dispose method" #1932 (thanks to michalsrutek)
    Open source →
  13. 6.0.0-rc.2 18 Dec 2023 pre-release
    Release notes
    • Updated minimum platform interface and implementation versions
    • Added CustomPathHandler class to be able to implement Android custom path handlers for WebViewAssetLoader
    Open source →
  14. 6.0.0-rc.1 17 Dec 2023 pre-release
    Release notes
    • Updated minimum platform interface and implementation versions
    • Added InAppBrowser.onMainWindowWillClose event
    • Added WindowType.WINDOW for InAppBrowserSettings.windowType
    • Fixed "Cloudflare Turnstile failure" #1738
    • Fixed InAppWebViewController.callAsyncJavaScript Android-issue when the last line of the functionBody parameter includes a code comment

    BREAKING CHANGES

    • Default value of InAppBrowserSettings.windowType is WindowType.WINDOW
    Open source →
  15. 6.0.0-beta.32 12 Dec 2023 pre-release
    Release notes
    • Updated minimum platform interface and implementation versions
    • Added InAppWebViewSettings.interceptOnlyAsyncAjaxRequests #1905
    • Added InAppWebViewController.clearFormData Android-specific method
    • Added InAppWebViewController.clearAllCache static method
    • Added CookieManager.removeSessionCookies Android-specific method
    • Deprecated InAppWebViewController.clearCache and InAppWebViewSettings.clearCache. Use InAppWebViewController.clearAllCache static method instead
    • Deprecated InAppWebViewSettings.clearSessionCache. Use CookieManager.removeSessionCookies method instead
    • Updated useShouldInterceptAjaxRequest automatic infer logic
    • Updated CookieManager methods return value
    • Fixed "iOS crash at public func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage)" #1912
    • Fixed "iOS Fatal Crash" #1894
    • Fixed "getFavicons: _TypeError: type '_Map<String, dynamic>' is not a subtype of type 'Iterable<dynamic>'" #1897
    • Fixed error in InterceptAjaxRequestJS 'Failed to set responseType property'
    • Fixed shouldInterceptAjaxRequest javascript code when overriding XMLHttpRequest.open method parameters
    • Fixed "onClosed not considering back navigation or up button / close button in ChromeSafariBrowser when using noHistory: true" #1882
    • Merged "Fixed error in InterceptAjaxRequestJS 'Failed to set responseType property'" #1904 (thanks to EArminjon)

    BREAKING CHANGES

    • Due to Flutter platform channels async nature, using useShouldInterceptAjaxRequest: true would break sync ajax requests, so that the XMLHttpRequest.send() will not wait for the response. To fix this issue, the default value of InAppWebViewSettings.interceptOnlyAsyncAjaxRequests is true. To intercept also sync ajax requests, this value should be false.
    Open source →
  16. 6.0.0-beta.31 04 Dec 2023 pre-release
    Release notes
    • Updated minimum platform interface and implementation versions
    • Fixed events not called on InAppBrowser and ChromeSafariBrowser opening same instance multiple times
    Open source →
  17. 6.0.0-beta.30 28 Nov 2023 pre-release
    Release notes
    • Updated minimum platform interface and implementation versions
    • Fixed "Crash when starting ChromeSafariBrowser on Android java.lang.NoSuchMethodError: No virtual method isEngagementSignalsApiAvailable" #1881
    Open source →
  18. 6.0.0-beta.29 27 Nov 2023 pre-release
    Release notes

    BREAKING CHANGES

    • Plugin conversion to a Federated Plugin to better support multiple environments and implementations.
    • Dart SDK min version >= 2.17.0
    • Android package name has been changed to com.pichillilorenzo.flutter_inappwebview_android. References to old package name com.pichillilorenzo.flutter_inappwebview should be updated, for example inside AndroidManifest.xml file: <provider android:name="com.pichillilorenzo.flutter_inappwebview_android.InAppWebViewFileProvider" android:authorities="${applicationId}.flutter_inappwebview_android.fileprovider" ...
    • Web Platform: web_support.js file path has been changed to packages/flutter_inappwebview_web/assets/web/web_support.js
    Open source →
  19. 6.0.0-beta.28 14 Nov 2023 pre-release
    Release notes
    • Added ProcessGlobalConfig for Android WebViews
    • Added disableWebView static method on InAppWebViewController for Android
    • Added support for Android WebViewFeature.isStartupFeatureSupported, WebViewFeature.STARTUP_FEATURE_SET_DIRECTORY_BASE_PATHS, WebViewFeature.STARTUP_FEATURE_SET_DATA_DIRECTORY_SUFFIX, WebViewFeature.WEB_MESSAGE_ARRAY_BUFFER
    • Added WebMessage.type property
    • Fixed "iOS EXC_BAD_ACCESS crash on kill app with InAppWebView keyboard open" #1837
    • Fixed "Flutter Web - TypeError: Failed to execute 'observe' on 'MutationObserver': parameter 1 is not of type 'Node'. error" #1841

    BREAKING CHANGES

    • WebMessage.data property is of type dynamic
    • JavaScriptReplyProxy.postMessage is of type WebMessage
    • WebMessageListener.onPostMessage and WebMessagePort.setWebMessageCallback methods signature
    Open source →
  20. 6.0.0-beta.27 12 Nov 2023 pre-release
    Release notes
    • Added requestPostMessageChannel, postMessage, isEngagementSignalsApiAvailable methods on ChromeSafariBrowser for Android
    • Added onMessageChannelReady, onPostMessage, onVerticalScrollEvent, onGreatestScrollPercentageIncreased, onSessionEnded events on ChromeSafariBrowser for Android
    • Added getPackageName static method on ChromeSafariBrowser for Android
    Open source →
  21. 6.0.0-beta.26 11 Nov 2023 pre-release
    Release notes
    • Throw an error if any controller is used after being disposed
    • CookieManager.deleteCookies wait for all delete cookie completion handler to be completed on iOS and macOS
    • Updated return value for CookieManager.setCookie method to be Future<bool>. The return value indicates whether the cookie was set successfully
    • Merged "feat(ios): optional tradeoff to fix ios input delay" #1665 (thanks to andreasgangso)
    • Merged "Fix ios multiple flutter presenting error" #1736 (thanks to AlexT84)
    • Merged "fix cert parsing for ios 12" #1822 (thanks to darkang3lz92)
    • Merged "Fix iOS and macOS Forced unwrap null value HTTPCookie for CookieManager.setCookie" #1677 (thanks to maxmitz)
    • Merged "android imm.isAcceptingText() crash fix" #1827 (thanks to AlexDochioiu)
    • Merged "fix: chrome tab open failed due to chrome process not running" #1772 (thanks to YumengNevix)
    • Merged "Android - Fix context menu position for pages with horizontal scroll" #1504 (thanks to lrorpilla)
    • Fixed "iOS about:blank popup not loading page" #1500
    • Fixed "iOS macOS - This method should not be called on the main thread as it may lead to UI unresponsiveness" #1678
    • Fixed iOS and macOS InAppWebView memory leaks
    Open source →
  22. 6.0.0-beta.25 02 Oct 2023 pre-release
    Release notes
    • Updated androidx.webkit:webkit dependency to 1.8.0
    • Updated androidx.browser:browser dependency to 1.6.0
    • Merged "feat: InAppLocalhostServer decode assets url when loading them" #1657 (thanks to Nirajn2311)
    • Merged "fix: xcode 15 related bug" #1801 (thanks to nesquikm)
    Open source →
  23. 6.0.0-beta.24 10 Jun 2023 pre-release
    Release notes
    • Added InAppWebView keep alive feature
    • Added InAppBrowser menu items feature
    • Added hasJavaScriptHandler, hasUserScript, hasWebMessageListener InAppWebViewController methods
    • Added hideCloseButton, hideDefaultMenuItems, menuButtonColor InAppBrowser settings
    • HeadlessInAppWebView.webViewController could be null
    • Removed throwIfAlreadyOpened, throwIfNotOpened InAppBrowser methods
    • Removed throwIfAlreadyOpened, throwIfNotOpened ChromeSafariBrowser methods
    • Merged "fix #1389 #1315 contextMenu ios 13" #1575 (thanks to heralight)
    • Merged "fix: remove ignored flutter_export_environment.sh" #1593 (thanks to Sunbreak)
    • Merged "Fix AndroidX migration URL in README.md" #1529 (thanks to cslee)
    • Merged "InAppBrowser Bugfix/viewgroup index crash" #1618 (thanks to KhatibFX)
    • Fixed old iOS versions crash "dyld: Library not loaded: /usr/lib/swift/libswiftCoreGraphics.dylib Reason: image not found" (thanks to guide-flutter)
    • Fixed InAppBrowser.show() possible crash on macOS
    • Fixed missing windowTitlebarSeparatorStyle, windowAlphaValue, windowStyleMask, windowFrame macOS settings updates when using setSettings()
    • Fixed "iOS and macOS flutter multiple engine" #1632
    Open source →
  24. 6.0.0-beta.24+1 12 Jun 2023 pre-release
    Release notes
    • Fixed "Can't compile on Android" #1691
    Open source →
  25. 6.0.0-beta.23 15 May 2023 pre-release
    Release notes
    • Updated androidx.webkit:webkit dependency to 1.6.1
    • Updated androidx.browser:browser dependency to 1.5.0
    • Updated androidx.appcompat:appcompat dependency to 1.6.1
    • Added support for Android WebViewFeature.GET_COOKIE_INFO
    • Added requestedWithHeaderOriginAllowList WebView setting for Android
    • Added isInspectable, shouldPrintBackgrounds WebView settings for iOS and macOS
    • Removed WebViewFeature.REQUESTED_WITH_HEADER_CONTROL, ServiceWorkerController.setRequestedWithHeaderMode(), ServiceWorkerController.getRequestedWithHeaderMode(), InAppWebViewSettings.requestedWithHeaderMode
    • Fixed "Build fail with AGP 8.0" #1643
    • Fixed "java.lang.RuntimeException: Unknown feature REQUESTED_WITH_HEADER_CONTROL" #1611
    • Fixed "iOS 16.4 WebDebugging WKWebView.isInspectable" #1629
    • Fixed some @available checks for macOS
    Open source →
  26. 6.0.0-beta.22 15 Dec 2022 pre-release
    Release notes
    • Updated window.flutter_inappwebview.callHandler implementation: if there is an error/exception on Flutter/Dart side, the callHandler will reject the JavaScript promise with the error/exception message, so you can catch it also on JavaScript side
    • Fixed Android Web Storage Manager deleteAllData and deleteOrigin methods implementation
    • Fixed "Xiaomi store - Conflict of Privacy Permissions, android.permission.MY_READ_INSTALLED_PACKAGES" #1462
    • Fixed "Flutter 3.0.5 compilation issue" #1475
    Open source →
  27. 6.0.0-beta.21 06 Dec 2022 pre-release
    Release notes
    • Fixed "Android plugin version 6 - UserScripts not executing on new tabs." #1455
    Open source →
  28. 6.0.0-beta.20 03 Dec 2022 pre-release
    Release notes
    • Using Android WebViewClientCompat for Chromium-based WebView if the WebView package major version is >= 73 (https://bugs.chromium.org/p/chromium/issues/detail?id=925887)
    • Updated code docs
    • Fixed "Unexpected addWebMessageListener behaviour" #1422
    Open source →
  29. 6.0.0-beta.19 30 Nov 2022 pre-release
    Release notes
    • Updated code docs
    • Fixed "Cannot Grant Permission at Android 21" #1447
    • Fixed some missing macOS asserts
    Open source →
  30. 6.0.0-beta.18 28 Nov 2022 pre-release
    Release notes
    • Fixed InAppWebViewSettings automatic infer if initialSettings is null
    Open source →
  31. 6.0.0-beta.17 25 Nov 2022 pre-release
    Release notes
    • Replaced Uri.encodeFull with Uri.encodeComponent to load html data correctly on Web platform
    Open source →
  32. 6.0.0-beta.16 23 Nov 2022 pre-release
    Release notes
    • Removed Android Hybrid Composition constraint to use the pull-to-refresh feature
    • Removed Android com.squareup.okhttp3:okhttp dependency
    Open source →
  33. 6.0.0-beta.15 22 Nov 2022 pre-release
    Release notes
    • Automatically infer useShouldOverrideUrlLoading, useOnLoadResource, useOnDownloadStart, useShouldInterceptAjaxRequest, useShouldInterceptFetchRequest, useShouldInterceptRequest, useOnRenderProcessGone, useOnNavigationResponse settings if their value is null and the corresponding event is implemented by the WebView (InAppWebView and HeadlessInAppWebView, not InAppBrowser) before it's native initialization

    BREAKING CHANGES

    • All PrintJobSettings properties are optionals
    • All PullToRefreshSettings properties are optionals
    • All WebAuthenticationSessionSettings properties are optionals
    Open source →
  34. 6.0.0-beta.14 16 Nov 2022 pre-release
    Release notes
    • Fixed User Script remove methods
    • Fixed macOS available checks for XCode 14.1
    Open source →
  35. 6.0.0-beta.13 15 Nov 2022 pre-release
    Release notes
    • Added ContentBlockerActionType.BLOCK_COOKIES and ContentBlockerActionType.IGNORE_PREVIOUS_RULES for iOS and macOS platforms
    • Updated ContentBlockerTrigger.urlFilterIsCaseSensitive for Android
    • Fixed Android ContentBlockerActionType.CSS_DISPLAY_NONE usage
    Open source →
  36. 6.0.0-beta.12 02 Nov 2022 pre-release
    Release notes
    • Removed willSuppressErrorPage WebView Android setting in favor of disableDefaultErrorPage.
    • Added isMultiProcessEnabled static method on InAppWebViewController for Android
    • Added onContentSizeChanged WebView event for iOS
    • Added onPermissionRequestCanceled, onRequestFocus WebView events for Android
    • Added defaultVideoPoster WebView setting for Android
    • Added TracingController for Android WebViews

    BREAKING CHANGES

    • Removed willSuppressErrorPage WebView Android setting. Use disableDefaultErrorPage instead.
    Open source →
  37. 6.0.0-beta.11 27 Oct 2022 pre-release
    Release notes
    • Fixed "[webRTC / macOS] onPermissionRequest not called on HeadlessInAppWebView" #1405
    Open source →
  38. 6.0.0-beta.10 27 Oct 2022 pre-release
    Release notes
    • Created WebUri class to replace Uri dart core type. Related to:
      • "Uri.tryParse will make the host to be lowercase" #1402
      • "An error occurs when using a specific intent" #1328
      • "Android shouldOverrideUrlLoading not working" #1350

    BREAKING CHANGES

    • Replaced the usage of Uri type with the new WebUri type
    Open source →
  39. 6.0.0-beta.9 26 Oct 2022 pre-release
    Release notes
    • Added headers, otherLikelyURLs, referrer arguments on ChromeSafariBrowser.open method for Android
    • Added onNavigationEvent, onServiceConnected, onRelationshipValidationResult events on ChromeSafariBrowser for Android
    • Added mayLaunchUrl, launchUrl, updateActionButton, validateRelationship, setSecondaryToolbar, updateSecondaryToolbar methods on ChromeSafariBrowser for Android
    • Added startAnimations, exitAnimations, navigationBarColor, navigationBarDividerColor, secondaryToolbarColor, alwaysUseBrowserUI ChromeSafariBrowser settings for Android
    • Added getMaxToolbarItems static method on ChromeSafariBrowser for Android
    • Added ChromeSafariBrowserMenuItem.image property for iOS
    • Added didLoadSuccessfully optional argument on ChromeSafariBrowser.onCompletedInitialLoad event for iOS
    • Added onInitialLoadDidRedirect, onWillOpenInBrowser events on ChromeSafariBrowser for iOS
    • Added activityButton, eventAttribution ChromeSafariBrowser settings for iOS
    • Added clearWebsiteData, prewarmConnections, invalidatePrewarmingToken static methods on ChromeSafariBrowser for iOS
    • Added getVariationsHeader WebView static method

    BREAKING CHANGES

    • ChromeSafariBrowser.onCompletedInitialLoad event has an optional argument
    • ChromeSafariBrowserMenuItem.action and ChromeSafariBrowserActionButton.action can be null
    • All ChromeSafariBrowserSettings properties are optionals
    Open source →
  40. 6.0.0-beta.8 24 Oct 2022 pre-release
    Release notes
    • Merged "Exposed "shared" property of HttpServer bind method to support more use-cases." #1395 (thanks to LugonjaAleksandar)
    • Fixed "ios 14.5 crash reports upgradeKnownHostsToHTTPS" #1393
    Open source →
  41. 6.0.0-beta.7 22 Oct 2022 pre-release
    Release notes
    • Updated Android hybrid composition implementation

    BREAKING CHANGES

    • Minimum Flutter version 3.0.0
    Open source →
  42. 6.0.0-beta.6 22 Oct 2022 pre-release
    Release notes
    • Added InAppWebViewSettings.allowBackgroundAudioPlaying for Android
    • Added WebViewAssetLoader and InAppWebViewSettings.webViewAssetLoader for Android

    BREAKING CHANGES

    • WebResourceResponse.contentType and WebResourceResponse.contentEncoding properties can be null
    Open source →
  43. 6.0.0-beta.5 20 Oct 2022 pre-release
    Release notes
    • Merge fixes of version 5.5.0+5
    Open source →
  44. 6.0.0-beta.4 20 Oct 2022 pre-release
    Release notes
    • Added InAppWebView.headlessWebView property to convert an HeadlessWebView to InAppWebView widget
    Open source →
  45. 6.0.0-beta.3 19 Oct 2022 pre-release
    Release notes
    • Added MacOS support
    • Added windowType, windowAlphaValue, windowStyleMask, windowTitlebarSeparatorStyle, windowFrame for MacOS InAppBrowserSettings
    • Added PrintJobInfo.printer
    • Added getContentWidth WebView method

    BREAKING CHANGES

    • Removed PrintJobInfo.printerId
    • All InAppWebViewSettings, InAppBrowserSettings properties are optionals
    • InAppBrowser.webViewController can be null
    Open source →
  46. 6.0.0-beta.2 14 Oct 2022 pre-release
    Release notes
    • Fixed web example
    • Fixed export library
    Open source →
  47. 6.0.0-beta.1 14 Oct 2022 pre-release
    Release notes
    • Deprecated old classes/properties/methods to make them eventually compatible with other Platforms and WebView engines.
    • Added Web support
    • Added ProxyController for Android
    • Added PrintJobController to manage print jobs
    • Added WebAuthenticationSession for iOS
    • Added FindInteractionController for Android and iOS
    • Added pauseAllMediaPlayback, setAllMediaPlaybackSuspended, closeAllMediaPresentations, requestMediaPlaybackState, isInFullscreen, getCameraCaptureState, setCameraCaptureState, getMicrophoneCaptureState, setMicrophoneCaptureState, loadSimulatedRequest WebView controller methods
    • Added underPageBackgroundColor, isTextInteractionEnabled, isSiteSpecificQuirksModeEnabled, upgradeKnownHostsToHTTPS, forceDarkStrategy, willSuppressErrorPage, algorithmicDarkeningAllowed, requestedWithHeaderMode, enterpriseAuthenticationAppLinkPolicyEnabled, isElementFullscreenEnabled, isFindInteractionEnabled, minimumViewportInset, maximumViewportInset WebView settings
    • Added onCameraCaptureStateChanged, onMicrophoneCaptureStateChanged WebView events
    • Added support for onPermissionRequest event on iOS 15.0+
    • Added debugLoggingSettings static property for WebView and ChromeSafariBrowser
    • Added WebViewFeature.DOCUMENT_START_SCRIPT Android feature support
    • Added getRequestedWithHeaderMode, setRequestedWithHeaderMode ServiceWorkerController methods
    • Added ContentBlockerTrigger.ifFrameUrl and ContentBlockerTrigger.loadContext properties
    • Added PullToRefreshController.isEnabled method
    • Updated getMetaThemeColor on iOS 15.0+
    • Deprecated onLoadError for onReceivedError. onReceivedError will be called also for subframes
    • Deprecated onLoadHttpError for onReceivedHttpError. onReceivedHttpError will be called also for subframes

    BREAKING CHANGES

    • Updated Android minSdkVersion to 19
    • Updated minimum iOS version to 9.0
    • On Android, the InAppWebView widget uses hybrid composition by default (useHybridComposition: true)
    • All properties of GeolocationPermissionShowPromptResponse cannot be null
    • Removed URLProtectionSpace.iosIsProxy property
    • historyUrl and baseUrl of InAppWebViewInitialData can be null
    Open source →
  48. 5.8.0 02 Oct 2023
    Release notes
    Open source →
  49. 5.7.2 23 Nov 2022
    Release notes
    • Removed Android Hybrid Composition constraint to use the pull-to-refresh feature
    Open source →
  50. 5.7.2+1 30 Nov 2022
    Release notes
    • Fixed "Cannot Grant Permission at Android 21" #1447
    Open source →
  51. 5.7.2+2 03 Dec 2022
    Release notes
    • Fixed "Unexpected addWebMessageListener behaviour" #1422
    Open source →
  52. 5.7.2+3 15 Dec 2022
    Release notes
    • Fixed "Xiaomi store - Conflict of Privacy Permissions, android.permission.MY_READ_INSTALLED_PACKAGES" #1462
    Open source →
  53. 5.7.1 24 Oct 2022
    Release notes
    • Exposed "shared" property of HttpServer bind method to support more use-cases. (thanks to LugonjaAleksandar)
    Open source →
  54. 5.7.1+1 16 Nov 2022
    Release notes
    • Fixed User Script remove methods
    • Fixed missing break statement on Android when parsing ChromeCustomTabsOptions.displayMode in Java code
    Open source →
  55. 5.7.1+2 18 Nov 2022
    Release notes
    • Fixed Android NullPointerException on InAppBrowserActivity.dispose
    Open source →
  56. 5.7.0 22 Oct 2022
    Release notes
    • Added PlatformViewsService.initExpensiveAndroidView for Android

    BREAKING CHANGES

    • Flutter minimum version 3.0.0
    Open source →
  57. 5.6.0 22 Oct 2022
    Release notes
    • Fixed "URLCredential.fromMap returns null for username" #1205
    • Fixed "Compare to webview_flutter, inappwebview is significant frame dropped while page scrolling" #1386
    • Merged "Fix hybrid composition laggy" #1387 (thanks to Doflatango)
    Open source →
  58. 5.6.0+1 22 Oct 2022
    Release notes
    • Fixed Android hybrid composition on Flutter 2
    Open source →
  59. 5.6.0+2 22 Oct 2022
    Release notes
    • Revert back the usage of PlatformViewsService.initExpensiveAndroidView
    Open source →
  60. 5.5.0 13 Oct 2022
    Release notes
    • Added Android direct camera capture feature
    • Fixed missing PullToRefreshController.isRefreshing iOS implementation
    • Fixed Android PullToRefreshController.setEnabled at runtime
    • Fixed iOS findNext
    • Fixed Android RendererPriorityPolicy.waivedWhenNotVisible type 'Null' is not a subtype of type 'bool'
    • Fixed iOS 14.0 crash when calling callAsyncJavaScript method
    • Merged "Android fix leaking MethodChannel through anonymous class" #1201 (thanks to emakar)
    • Merged "Fix RangeError: Maximum call stack size exceeded" #1208 (thanks to liasica)
    • Merged "fix: try to open with Chrome if default browser app does not support custom tabs" #1233 (thanks to addie9000)
    • Merged "fix: Prevent Android java.lang.NullPointerException in InAppWebViewCl…" #1237 (thanks to kamilpowalowski)
    • Merged "Android - Load client certificate from local storage" #1241 (thanks to akioyamamoto1977)
    • Merged "fix Theme_AppCompat_Dialog_Alert not found" #1262 (thanks to mohenaxiba)
    • Merged "Allow a cookie without a domain to be set on Android" #1295 (thanks to bagedevimo)
    • Merged "Catch and ignore utf8 format exception in getFavicons()" #1302 (thanks to Doflatango)
    • Merged "Disable exporting activity definitions for Android" #1313 (thanks to daanporon)
    • Merged "Add directoryIndex and documentRoot to InAppLocalhostServer option" #1319 (thanks to fa0311)
    • Merged "fix(ios): invoke onBrowserCreated when viewDidLoad is called with win…" #1344 (thanks to perffecto)

    BREAKING CHANGES

    • CookieManager.getCookie, CookieManager.deleteCookie and CookieManager.deleteCookies have the domain argument optional and without a default value
    Open source →

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