Changelog
Changelog
6.1
Released 21/10/2025
β‘ Features
AllNew `webview.settings['DRAG_REGION_DIRECT_TARGET_ONLY'] setting to control whether drag region selector matches only direct targets or any element in the event path. Default is False. Thanks @chrissantamariaEdgeChromiumAbility to bundle WebView2 runtime with the application viawebview.settings['WEBVIEW2_RUNTIME_PATH']. Thanks @leovukCocoaSupport for application menu. Thanks @camdarley. #1725
π Improvements
AllHandle new elements in draggable and drag region client logic. Thanks @chrissantamariaAllImprove detection of cyclic structures during serialization from JS to Python. #1708QTProperly handle SIGINT to quit program allowing to close the window with Ctrl+C in terminal. Thanks @chrissantamaria.CocoaAdd support for 'New Folder' button in FOLDER_DIALOG on macOS. Thanks @camdarley. #1710DevAutomatic linting and formatting on pre-commit hook installation.
π Bug fixes
AllFix state change event not being fired on state change from JS side #1698AllFix state values with special characters not being set properly.AllFix special characters handling in HTML attributes and styles inElementobject.AndroidFixwindow.event.closednot being firedAndroidImprove cleanup on application exitCocoaSupport for partial functions in menu actions #1707CocoaAdd missing pyobjc-framework-UniformTypeIdentifiers dependency. Thanks @Josef-Haupt.Cocoamodule 'objc._objc' has no attribute 'file' after package #1717GTKFix data not being remove on application quit in private mode #1713WinformsAttributeError: 'Screen' object has no attribute 'X #1704MSHTMLFix MSTML compatibility #1701
6.0
Released 08/08/2025
β‘ Features
AllShared state management viawindow.stateobject. State object is automatically updated between Javascript and Python.AllNewrequest_sentandresponse_receivedevents. The events are fired when a HTTP request is sent and a response is received. Request headers can be modified before sending.AllNewinitializedevent that is fired when GUI library / Web is chosen and before the window is created. The first argument is a chosen renderer. If event handler returns False, the window creation will be cancelled and GUI loop will not be started.AllWindow specific menu that can be created viawebview.create_window(menu=webview.menu.Menu).AllAdd origin coordinates (x, y) towebview.screen.ScreenobjectAllJS API nested classes can now be omitted from serialization by setting_serializable = Falseclass attribute.CocoaNewwebview.settings['SHOW_DEFAULT_MENUS']parameter to omit default menus. True by default. Thanks @mikeylemmon.AndroidNew Android Kivyless implementation for improved startup time and smaller package size. Thanks @kengoon.AndroidFullscreen mode support #1598. Thanks @michelle-avery.
π Improvements
AllBREAKING:webview.SAVE_DIALOG,webview.OPEN_DIALOGandwebview.FOLDER_DIALOGconstants are deprecated in favor ofwebview.FileDialogenum with valuesSAVE,LOADandFOLDER.AllBREAKING: Deprecated functionswindow.get_elementandwindow.get_elementsare removed. Usewindow.dom.get_elementandwindow.dom.get_elementsinstead.AllBREAKING:webview.DRAG_REGION_SELECTORis deprecated. Usewebview.settings['DRAG_REGION_SELECTOR']instead.AllModify JS API to use callback instead of setInterval #1607. Thanks @qaqFei.AllWhen exposing aWindowobject to JS API,dom,eventsandstateobjects are omitted.AllLogging level set byPYWEBVIEW_LOGenvironment level takes precedence overdebugparameter.AndroidNew test suite for Android platform.CocoaAdd handler for Javascript prompt/input #1567. Thanks @maddyaby.WinformsDark mode support with automatic theme changing #1595. Thanks @godcop.
π Bug fixes
AllBetter duplicate object detection in JS API serialization.AllLoading URLs with a hash served by local HTTP server. #1574AllMultiwindow with local-url setups sets wrong server root (BottleServer). Thanks @Sopze92.AllSSL support for HTTP apps. Thanks @Gu-f.AllFix duplicate logging when webview is imported multiple times.AndroidFix JSON-encoded values returned bywindow.evaluate_js.AndroidFix cookie support.CocoaDon't terminate app if windows shouldn't close #1580. Thanks @mikeylemmon.CocoaFile filter set via<input type="file">tag.GTKFix Javascript exception handling #1648.QTFix user agent string.QTFix QWebPage enums. #1639EdgeChromiumFix easy dragEdgeChromiumRemote Debugging Fails When Bothstorage_pathandREMOTE_DEBUGGING_PORTare setEdgeChromiumFix window transparency. Transparent windows can now react to mouse events.WinformsFix window placing on a screen
5.4
Released 27/01/2025
β‘ Features
AllA new function for executing Javascript as iswindow.run_js(code)without returning a resultAllNewbefore_loadevent that is fired right before pywebview code is injected into the page. The event roughly corresponds toDOMContentLoadedDOM event.AllScreenobject now have origin coordinates asscreen.xandscreen.yEdgeChromiumAdd remote debugging support viawebview.settings['REMOTE_DEBUGGING_PORT']. Thanks @Lugribossk
π Improvements
AllImplement a len method forEventobjects to get a number of event subscribers.AllThe order of firing of loading eventsloading,before_loadandloadedis standardized across the platforms.AllWindowobjects can now be exposed via JS APIAllMakewebview.settingskey immutable.GTK'undefined'and'null'string values are no longer translated to None during JS API serialization.CocoaAdd support for the download attribute on links. Thanks @maddyaby.CocoaIgnore ssl errors for local HTTP server by defaultCocoaNative Color Picker on MacOS is drawn in the wrong place #1568. Thanks @maddyabyCocoaImproved support for py2app #1565EdgeChromiumUpdate webview2 binaries to 1.0.2957.106
π Bug fixes
HTTPFix loading local urls with a hash served by local HTTP server.EdgeChromiumDelete browser data in private mode on program exitCocoaFix typo inabortModalcall. Thanks @simonrobCocoaFix missing menuCocoaFix window close termination when pressing Cmd+Q. Thanks @mikeylemmon.CocoaFix missingget_active_window. Thanks @sardinationWindowsFix window placing in certain monitor layouts when assigning to a specific monitor.WindowsFix a short blank when closing the window. Thanks @godcop
5.3.2
Released 22/10/2024
π Bug fixes
- Fix Pyinstaller compatibility for non-Windows platforms #1508
- Error occurs when alert() is called with non-string arguments #1506
5.3.1
Released 21/10/2024
π Bug fixes
- Fix Pyinstaller compatibility
5.3
Released 16/10/2024
β‘ Features
AllNative window object for each platform is now exposedwindow.native. You can use it for example for applying custom appearance to a window. Additionally WebView is exposed viawindow.native.webviewAllNewwindow.events.before_showevent.AllNew DomEventHandlerdebounceparameter. It can be used it for solving performance issues withdragoverandmouseoverevents.GTK/QTapplication icon support for GTK and QT platformswebview.start(icon=<path>)
π Improvements
AllStorage path is now verified for write permissions before application start. An exception is thrown, if path is not writable.AllRefined logic at which point of the startup procedureshownevent is fired.CocoaBetter handling of stopping event loop in headless environments.WindowsFallback to WinForms when QT is forced and not availableWindowsRemove white border in a fullscreen window.WindowsSupport multiple selection in open folder dialog.
π Bug fixes
AllSupport for Unicode filenames in drag and drop. Thanks @hustshenlCocoaFix open file dialog file type selector and all files filterCocoaFix folder drag and drop. Thanks @pythonsGTKFix multiple file drag and drop on certain Linux distributions. Thanks @coffeejunkQTQT6 compatilibityQTRelease of profile requested but WebEnginePage still not deleted with multiple windowsWindowsGraceful handling forshcore.dllnot being present on Windows 7. Thanks @rafael-vasconcellos.WindowsReturn result of open folder dialog is fixed to tuple.Edge ChromiumCurrent url not being updated after a navigation event. Thanks @hustshenl
5.2
Released 17/08/2024
π Improvements
AllReplace print with logging in JS API exception handling.AllReplace ssl.wrap_socket() with SSLContext().wrap_socket(). Thanks @lanzzWinFormsAdd a modern Vista open folder dialog. Thanks @v_yonghliaoWinformsFallback to Winforms when QT is forced, but not available.EdgeChromiumReplacewindow.alertwith a message box implementation.MSHTMLConvert JS API code to ES5 to be compatible with MSHTML.
π Bug fixes
AllAdd missing return in DOM.body property. Thanks @lanzz.AllUse json.dumps to serialise the html template in create_element. Thanks @lanzzAllFix ever-growing main menu bug. Thanks @lanzzAllChange on_closing event handlers to be executed synchronously in order to prevent a deadlock when using thread join. #1439AllFixTypeError: unhashable typewith certain unhashable object types exposed via JS API. #1442CocoaFix nil pointer dereference during file download. Thanks @realityone.EdgeChromiumSupport multiple pywebviews at the same time. Thanks @huan1936.QTQT6 compatibility.QTFix devtools in PySide6. Thanks @TransparentLCQTFix user agent.QTFix segfault on window close.
5.1
Released 18/04/2024
β‘ Features
AllClear all the cookies (including HttpOnly) withwindow.clear_cookies(). Sponsored by TBSAllpywebview event handler can now have an optionalwindowparameter that holds an instance of theWindowobject that triggered the event.
π Improvements
WindowsAdd window shadow withwebview.create_window(..., shadow=True). Thanks @yllhwa
π Bug fixes
CocoaFix showing windowQTFix fetching cookies in private modeQTFix blank screen in Pop! OS. Thanks @ysfchn.GTKFix frameless windows having a hard-coded minimum size. Thanks @coffeejunk
5.0.5
Released 07/03/2024
π Bug fixes
AllPrevent infinite recursion in nested JS API #1327CEFCrash due incorrect settings #1330QTWebEnginePage not deleted after window is closed #1328QTBlank screen on certain Linux systems #1325
5.0.4
Released 04/03/2024
π Bug fixes
AllPython 3.7 compatibility
5.0.3
Released 03/03/2024
π Improvements
QTwindow position is returned in coordinates excluding the window frame to be in line with provided coordinates.
π Bug fixes
EdgeChromiumCoreWebView2Settings exception in debug mode. #1323QTCrashing when closing additional windows #525QTDevTools failing to focus on open
5.0.1
Released 02/03/2024
β‘ Features
- Android support. pywebview can now be used on Android devices with help of buildozer in producing APK. #377
- DOM manipulation, traversal and events. pywebview provides a set of functions for mutating DOM nodes and traversing DOM, as well as you can subscribe to DOM events directly in Python. #1218
- Application settings
webview.settings. You can now override default behaviour of pywebview by modifying this dictionary. Currently configurable settings include.
webview.settings = {
'ALLOW_DOWNLOADS': False, # Allow file downloads
'ALLOW_FILE_URLS': True, # Allow access to file:// urls
'OPEN_EXTERNAL_LINKS_IN_BROWSER': True, # Open target=_blank links in an external browser
'OPEN_DEVTOOLS_IN_DEBUG': True, # Automatically open devtools when `start(debug=True)`.
}- Support for file downloads. To enable file downloads, set
webview.settings['ALLOW_DOWNLOADS'] = True. Disabled by default. - Full path support for file drag n drop. To get a full path of the dragged file, pywebview introduces
event['domTransfer']['files'][0]['pywebviewFullPath']value in thedropevent caught on the Python side. To subscribe to the event you usewindow.dom.document.events.drop += on_drop. window.maximize()- maximize window.
π Improvements
AllA more powerful JS data serializer capable of handling different data types and detecting circular references #1217AllNested JS API support. Seeexamples/js_api.pyfor details. Thanks @AlecHaringAllBREAKING:window.get_elementsreturns a list of instances of a newElementobject.AllBREAKING:evaluate_jsthrows awebview.errors.JavascriptExceptionif executed codes raises an errorWindowsWebView2 control updated to 1.0.2045.28WindowsAdd SSL support for local HTTP server.GTKUpdate deprecated code
π Bug fixes
CocoaSuppress secure coding is not enabled for restorable state warning. Thanks @awesomo4000EdgeChromiumBackground color not available in webview2. Thanks @VanthysEdgeChromiumMultiple focus events on window show. Thanks @yllhwaGTKFallback for Webkit4.0 if 4.1 not found. Thanks @starnight.QTFix user agent string. #1256 Thanks @TransparentLC.QTSolve the blank main window issue on RHEL9. Thanks @justincui #1266QTSubmenu actions firing incorrectly #1318
4.4.1
Released 31/10/2023
π Bug fixes
GTKFallback for Webkit4.0 if 4.1 not found.
4.4
Released 26/10/2023
π Bug fixes
CocoaWindow not retaining focus on keystrokes. #1187CocoaApp crashing when closing fullscreen window. #1236CocoaVideo keeps playing after closing window. #1235CocoaUploaded file is empty if filename contains a space. #1231CocoaReturn value of confirmation dialog created bywindow.confirm. #976WindowsFullscreen application disappearing after disconnecting extended display. #1229
π Improvements
AllDon't start http server for file:// urls. Thanks @glorpenGTKBump WebKit2 to 4.1. Thanks @starnightWindowsDisable swipe navigation #1230WindowsWindow is changed to fullscreen on the current monitor in a multi-monitor setup.
4.3.3
Released 08/09/2023
π Bug fixes
QTFix QT implementation
4.3.2
Released 01/09/2023
π Bug fixes
WinformsFixeasy_dragfrom being always enabled.
4.3.1
Released 30/08/2023
π Bug fixes
CocoaAdd missing maximized implementation
4.3
Released 30/08/2023
β‘ Features
Allwebview.create_window(maximized=False)Create a window in a maximized state. Thanks @vsajipAllwebview.create_window(screen=screen_instance)Create a window on a specific monitor, wherescreenis a screen returned bywindow.screens. Thanks @louisnw01AllWindow title can be obtained / set viawindow.title.
π Improvements
AllWindow closing event fired after closing confirmation #1178. Thanks @p4bl0-AllImprove performance of JS API calls by removing the initial delay of 100ms.GTKNative JS Bridge. HTTP server based JS bridge is removed.GTKRemove support for Webkit older than 2.2
π Bug fixes
AllEasy drag memory leak #1176WinformsEasy drag support #1125WinformsIncorrect DPI scalingWinformsPrivate mode not working ifwebview.screensis returned beforewebview.start#1193QTAdd no sandbox for arch/manjaro/nixos to avoid white screen problem #890. Thanks @myuanzGTKClosing event handlers cancellation. Thanks @p4bl0-GTKSEGFAULT on secondwebview.start()call #1063. Thanks @PercentBoat4164
4.2.2
Released 25/06/2023
AllFix 'NoneType' object has no attribute 'start_server'. #1159
4.2.1
Released 22/06/2023
AllFix installation
4.2
Released 22/06/2023
β‘ Features
Allwebview.create_window(focus=False)to create a non-focusable window. Thanks @mi4code #1030.
π Improvements
AllModernization of project infrastructure + typing. Thanks @demberto.WinformsTop level menu item support. Thanks @zhengxiaoyao0716.WinformsDisable touchpad elastic overscroll. Thanks @firai.
π Bug fixes
WinformsUnable to load DLL 'WebView2Loader.dll': The specified module could not be found. Thanks @kawana77b #1078CocoaFix missing pip dependencypyobjc-framework-security.
4.1
Released 02/05/2023
β‘ Features
Cocoa/QT/GTKSSL support for built-in http serverwebview.start(ssl=True). Thanks @keredson
π Improvements
AllJS API exceptions are now printed both in Python and Javascript consoles.AllHide menu bar when there is no menu. Thanks @Joffreybvn
β‘ Features
AllFix bug where http_port was not being forwarded to the actual window #1060. Thanks @robb-brownAllSwitch from tempfile to os.devnull to fix PyInstaller issue. Thanks @simonrobCocoaFix getting cookies in cocoa. Thanks @eerimoqCocoaFix exception occurring when main menu for application cannot be obtained.WindowsA more robust logic for setting user data directory. Thanks @al-eaxWindowsFix exception when executing a menu functionWindowsFix the title and message of the confirmation dialog. Thanks @zhengxiaoyao0716
4.0.2
Released 21/02/2023
π Improvements
AllHTTP server is now multithreaded. This should prevent stalled requests. #1025Windowswebview.start(storage_path)can now be set in private mode. This can be useful if you do not have write access to EdgeChromium default data directory and get 0x80070005 (E_ACCESSDENIED) error. #1026
π Bug fixes
AllFixAttributeError: module 'webview.http' has no attribute 'running'exception occurring when multiple windows are opened. Thanks @YidaozhanYa. #1024WinformsFix on_top not having any effect on Windows. #1036WinformsFixcreate_window(hidden=True)makes the show() command not work #1050WindowsFix pyinstaller compatibility on Windows. Thanks @simonrob #1044CEFFix window.get_cookies() throwing KeyError exception. #1021CocoaFix non-QWERTY keyboard shortcuts. Thanks @max-uhoQTFix web inspector preventing to open. #1028GTKFix "ImportError: Requiring namespace 'Soup' version '2.4', but '3.0' is already loaded" Thanks @YidaozhanYa #1041
4.0.1
Released 19/01/2023
π Improvements
AllSuppress HTTP server logging if not in debug mode.
π Bug fixes
AllFix HTTP server starting twice with a single window. Thanks @robb-brown.
4.0
Released 18/01/2023
π BREAKING CHANGES
AllWindow events are moved intowindow.eventsnamespace.window.loaded,window.shownetc no longer work.- EdgeHTML support is removed.
β‘ Features
AllLocal homegrown HTTP server is replaced with bottle.py. Thanks @robb-brown for WSGI support.AllNative application menu support. Seeexamples/menu.pyfor usage example. Thanks @sardinationAllwebview.start(private_mode=True, storage_path=None)Private mode and persistant storage support in a non-private mode. Private mode is enabled by default.Allwebview.create_window(zoomable=False)Enable / disable zooming on webpage. Disabled by default.Allwebview.create_window(draggable=False)Enable / disable dragging of IMG and A elements. Disabled by default.Allwebview.create_confirmation_dialog(title, content)creates a confirmation (Ok, Cancel) dialog. Thanks @sardination.Allwindow.get_cookies()retrieve all the cookies (including HttpOnly) for the current webpage.macOSwebview.create_window(vibancy=False)Window vibrancy suppport. macOS only. Thanks @CahierX.
π Improvements
AllLocal relative URLs (eg. src/index.html) are opened using the built-in http server by default. Support for local URLs is still possible using file:// schemaCocoaDisable Ctrl+click context menu. Thanks @ecpost.EdgeChromiumImproveevaluate_jsperformance.GTKEnable media / audio / WebGL / clipboard related WebKit features
π Bug fixes
CocoaFix passing through keyboard events handled by pywebview. Thanks @ecpost.GTKFix JS bridge maximum return object size limitation. GTK's JS bridge is implemented via HTTP server.GTKFix hanging problem during window closing when JS evaluation is in progress
3.7.1
Released 14/11/2022
π Bug fixes
Edge ChromiumBetter platform detection
π Improvements
Edge ChromiumARM64 support
3.7
Released 04/11/2022
β‘ Features
AllNewwindow.events.movedevent. Thanks @irtimir
π Improvements
EdgeChromiumRemoveThe system cannot find the file specified - Microsoft Edge WebView2 Runtime Registry path: Computer\HKEY_CURRENT_USER\Microsoft\EdgeUpdate\Clients{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}error message displayed in debug mode.CEFerror.log is no longer deleted when in debug mode.
π Bug fixes
AllFixevaluate_js_asynccrash and program termination prevention. Thanks @detritophage.WinFormsFix form initialization for pythonnet 3. Thanks @irtimirCEFFix errorous script execution inevaluate_js, so that further script do not get stuck. Thanks @irtimirCEFFixmaster uid not founderror on startup.QTRemove 'Empty key passed' messages. Thanks @TomFryersQTPySide6 backend not working. Thanks @sbboscoQTPrevent 'Release of profile requested but WebEnginePage still not deleted. Expect troubles !' message on close. Thanks @sbbosco
3.6.3
Released 05/04/2022
π Bug fixes
WinformsSupport for Edge Chromium v100. Thanks @greper.
3.6.2
Released 05/03/2022
π Bug fixes
CocoaFix closing window
3.6.1
Released 16/02/2022
FixCEFException on start
3.6
Released 15/02/2022
NewAllPython 3.6 is the minimum supported version from now on.NewAllminimized,maximized,restored,resizedevents. Thanks @BillBridge for sponsorship.NewAllevaluate_jsasync support.evaluate_js(code, callback)can evaluate promises via an optional callback parameter.NewAllEvents moved to its ownwindow.eventsnamespace (e.g.window.loadedβwindow.events.loaded). Old events are supported throughout 3.x and will be removed in 4.0.NewAllwindow.resize(width, height, fix_point)has now an optional parameter fix_point that controls in respect to which point the window is resized.NewAllMSHTML and EdgeHTML are deprecated. No further development will be done on these renderers.NewWinformsFocus webview on start or window activate events.NewEdgeChromiumCustom user agent support.NewEdgeChromiumWindow transparency support. Mouse and keyboards events are not supported in transparent. Thanks @odtian.NewCEFAbility to pass custom CEF browser settings. Thanks @Rolf-MP.ImprovementEdgeChromiumSupport non-elevated installations of WebView2. Thanks @ultrararetoad.ImprovementEdgeChromiumBetter support for Edge Chromium runtime detectiom. Thanks @r-muthu-saravanan.ImprovementEdgeChromiumWebView2 runtime updated toImprovementQTPyside support via PyQT wrapper. Thanks @tshemeng.FixCocoaMake Ctrl-C (SIGINT) work on Cocoa when running from the command lineFixEdgeChromiumFix `load_html. Thanks @sbbosco.FixCocoaFix cancelling of closing the window in the closing event Thanks @fizzadar.FixQTFix simultaneous calls to JS API.FixGTKFix concurrency issues with get_size, get_position and get_current_url.
3.5
Released 02/08/2021
NewAllGet information about available screens via newwebview.screensproperty.NewAllPer window localization. Thanks @fizzadar.NewAllWindow closing can be cancelled by returning False from a closing event handler. #744.FixAllDebug mode cannot be set under certain conditions. #628ImprovementAllSelected web renderer printed in Python console in debug mode.ImprovementAllJS API serialization logic. Thanks @peter23ImprovementEdgeChromiumChromium runtime updated to version 1.0.774.44. Thanks @sbbosco.ImprovementEdgeChromiumCustom user agent support.FixWinFormsIcon handling logic to make pywebview compatible with pystray. #720. Thanks @simonrobFixEdgeChromiumChange webview component to transparent. Thanks @ODtianFixCEFFix exception when destroying windowFixCocoacmd+w bypasses exit confirmation dialogue. #698. Thanks @fizzadarFixCocoaFix window coordinate calculation logic when moving a window.FixMSHTMLFix drag_regionFixMSHTMLFix window.alert
3.4: Second wave
Released 04/12/2020
NewWindowsWebView2 Chromium support. Thanks sbbosco. #521.FixAllException with HTML checkboxes andget_elements. #622.FixAllpystray compatibility. Thanks AlexCovizzi. #486.FixAllexpose methods instead of all callables for JS API objects. Thanks jgentil. #629.FixEdgeHTMLMake returning results ofevaluate_jsmore robust. Thanks sbbosco.FixQTKDE_FULL_SESSION not being used. Thanks Maltzur.FixCocoaUnicode filenames for input files.ImprovementCocoaOnly install the specificpyobjcpackages required. Thanks Fizzadar.ImprovementCocoaAdd support for default document navigation and window handling shortcut keys . Thanks ikhmyz and Fizzadar
3.3.5
Released 26/09/2020
FixEdgeHTMLServer middleware handlingFixEdgeHTMLfile:// url handling
3.3.4
Released 18/09/2020
FixEdgeHTMLFix content not displaying with local URLs or local HTTP serverFixCocoaFixes arrow keys not responding in text input fields. Thanks awesomo4000
3.3.3
Released 08/08/2020
FixCocoaSave dialog not working #578.FixCocoaError sound being played when pressing keys on macOS #566.
3.3.2
Released 28/07/2020
FixAllLoad html triggers error - resolve_url() missing 1 required positional argument: 'should_serve' #562.FixCocoa/GTKAccess window size on closing #573.FixGTKSave file dialog now returns a string instead of a tuple.
3.3.1
Released 01/07/2020
FixWinFormsTypeError : 'str' value cannot be converted to System.Drawing.Color #560.
3.3: Detroit Edition
Released 29/06/2020
NewAllBrand-new WSGI based internal HTTP server. Thanks@astronouth7303(https://github.com/astronouth7303).NewAllTransparent window. Not available on Windows.NewAllAllow pywebview window to be on top of other windows.NewAllCustom window drag region using CSS classes. Thanks@Fizzadar(https://github.com/Fizzadar).NewAllCustom user-agent support. Thanks@tognee(https://github.com/tognee).FixAllPython function not triggered using JS #458.FixAllwindow methods do not work inloadedevent #528.FixCocoaCaption bar and window control buttons are now hidden in frameless mode.FixCEFCEF window resize hang #484.FixMSHTMLFix easy drag in frameless mode.FixEdgeHTMLDo not show admin prompt for non-local URLs.FixGTKFix threading issues with recentish versions of PyGObjectFixQTFix opening web inspecting in debug mode
3.2: Humate Edition
Released 24/01/2020
NewAllWindow x, y, width and height properties to retrieve coordinates and dimensions of the window. Thanks@Fizzadar(https://github.com/Fizzadar)NewAllwindow.expose(func)an ability to expose an arbitrary function to the JS realm, also during the runtime.ImprovementAllJS API methods can now accept an arbitrary number of argumentsImprovementAllExceptions thrown in a JS API method is now raised in Javascript via its promise.ImprovementAllExceptions thrown in window event handlers are now caught and logged.ImprovementAllRandom port assigned by the built-in HTTP server can be retrieved viawebview.http_server.portImprovementQTMicrophone/webcam are enabled by default. Thanks@dtcooper(https://github.com/dtcooper)ImprovementQTDefault debugger port is changed to 8228. Thanks@melvinkcx(https://github.com/melvinkcx)ImprovementCEFAbility to pass custom CEF settings viawebview.platforms.cef.settings. See example for details.FixAllBuilt-in HTTP server is properly restarted when usingwindow.load_urlFixCocoaNew window position is correctly calculated when usingwindow.moveFixEdgeHTMLwindow.alertfix
3.1: Windows Edition
Released 04/11/2019
NewAllWindow minimize/restore functionality. Ability to show window minimized on startup.NewAllWindow hide/show functionality. Ability to show window hidden on startup.NewAllWindow move functionality. Ability to set window coordinates on startup. Thanks @adbenitez.NewAllNewwindow.pywebviewreadyDOM event that is thrown whenwindow.pywebviewis available.NewAllLinks opened viawindow.openare opened in a new browser window.FixAllFix concurrent invocations of JS API functions.FixAllFix unescaped single quote in JS API calls.FixAllBuilt-in HTTP server is now multi-threaded. This fixes stalling HTTP requests in some cases.ImprovementAllwindow.set_window_sizeis deprecated in favour towindow.resize.ImprovementAllExceptions are now handled in JS API functions and rerouted to the function promise catch method.ImprovementAllSuppress built-in HTTP server logging. Logging is active only in the debug mode.FixCEFFix deadlock occurring when trying to accesswindow.pywebviewobject right after the window is created.FixCEFHigh DPI fix resulting in a small window appearing inside the main window,FixEdgeHTMLUnicode error when loading HTML.FixMSHTMLget_elementsfailing.FixMSHTMLconsole.lognot writing to Python console in debug mode.FixMSHTMLForcing MSHTML viagui=mshtmlis now possible. Β―\_(γ)_/Β―

3.0.2
Released 17/08/2019
FixAllPrevent JSON like strings being converted to JSON objects when returning JS API calls. #352FixWindowsHTTP server is now used by default for local URLs and HTML for EdgeHTML. This fixes a PermissionDenied error, when the directory the executable is in is not writable.FixTestsTests now fail on an exception occurring in a thread.
3.0.1
Released 25/07/2019
FixAllDon't escape line breaks in result of js_bridge_call. Thanks @kvasserman.FixWindowsSupport for Pyinstaller noconsole modeFixWindowsFix Windows version detection with frozen executables.FixWindowsOpen folder dialog now supportsdirectoryargument.FixQTWorkaround for segmentation fault on closing the main window. Thanks @kvasserman.FixPytestFix for pytest warning about invalid escape sequence
3.0
Released 11/07/2019
NewAllNew API. The API is not compatible with older versions of pywebview. See https://pywebview.flowrl.com for usage details. #272NewAllBuilt-in HTTP server. #260NewAllAutogenerated CSRF token exposed aswindow.pywebview.token. #316NewAllget_elementsfunction to retrieve DOM nodes. #292NewAllNew events system that lets you to subscribe to events.loadedandshownevents are implemented. #201NewWindowsEdgeHTML support. Thanks @heavenvolkoff. #243FixWindowsFullscreen mode. #338FixGTKBetter Javascript support for recent version of WebKit2FixCEFSupport for PyInstaller in onefile mode
2.4
Released 17/02/2019
NewAllSupport for frameless windows.FixWindowsFix broken installation of v2.3
2.3
Released 12/02/2019
NewAllAbility to resize window after creationwebview.set_window_size(width, height). Thanks @aprowe #274NewWindowsChrome Embedded Framework (CEF) support #15ImprovementAllpywebview does not interfer with Python's logger configuration #295FixAllEmpty DOM issues when window is created without a URL #285ImprovementmacOSWeb renderer upgraded to WKWebViewImprovementmacOSAdd support for Mojave dark modeFixmacOSProblem with handling paths containing spaces #283FixQTBetter support for QTWebKit and QTWebChannel #304ImprovementQTRemove support for QT4FixGTKThrown exception not Python 2 compatible #277
2.2.1
Released 24/10/2018
FixDependency installationNewReintroduceqtextra require switch
2.2
Released 23/10/2018
NewBrand new documentation at https://pywebview.flowrl.comImprovementSimplify installation. Now pywebview can be installed bypip install pywebview. Dependencies will be resolved and installed automaticallyImprovementGTKUpdate to WebKit2
2.1
Released 16/09/2018
NewAllIntroducePYWEBVIEW_GUIenvironment variable andwebview.config.guiproperty. Acceptable values are areqt,gtkandwin32.USE_QTandUSE_WIN32is deprecated.FixCocoaClosing main window does not result in program terminationFixAllNew main window re-creation after closing. #229FixQTDebug mode #233FixCocoa/WindowsPreserve JS API on page reloadFixWindowstoggle_fullscreen()function #232. Thanks @lt94FixWindowsload_css()function. Thanks @wormius.
2.0.3
Released 16/05/2018
FixQTFix a deadlock preventing QT implementation from startingFixQTQT is set to default on QT-based systems
2.0.1/2.0.2
Released 08/05/2018
FixWinformsFix installation of dlls
2.0
Released 28/04/2018
NewAllMulti-window supportNewAllAbility to call Python code from Javascript viawindow.pywebview.apiNewAllDebug mode. Web inspector for Cocoa/GTK/QT and basic debug information for WinForms.NewAllFile filter support increate_file_dialogNewAlltarget='_blank'links are now opened in an external browserNewAllChange window title via aset_titlefunction #159NewAllload_cssfunctionNewAllSupport for relative local URLs increate_window/load_html. Linked local resources are resolved as well. #186NewAlltodosexample app demonstrating js api and relative local URLs.NewAllText select in the webview window is disabled by default. Addedtext_selectargument tocreate_windowfunction.NewQTOpenBSD 6.x support #213. Thanks @hucste.FixAllbase_uriparameter ofload_htmldefaults to the directory of the entry scriptFixAllConsistent return types withevaluate_jsacross different platforms #175FixAllVarious concurrency issues and deadlocksFixWinformsHideMessage from webpagewhen usingalertJavascript function #150FixWinformsSupport for high DPI #179FixQTSupport for QT 5.10 #171. Thanks @adbenitezFixQTDeprecate QT4. Starting from this version new features won't be tested on QT4 and support will be removed in the future.
1.8
Released 29/10/2017
- pywebview has the official logo
- @shivaprsdv is now an official maintainer of the project
NewAllAdd an ability to run Javascript code usingevaluate_jsfunctionFixCocoaImplement missing webview components (file input dialog, alert()/confirm() JS functions)FixWinformsFix issue with non-responsive UI when a loading screen background color is usedFixWinformsAdd support for Del and Ctrl+A keys in input elements.NewQTQT5 is now prefererred over QT4FixQTFix return parameters ofcreate_file_dialogto have the same format as on other platformsFixGTKBetter threading model. Thanks to @jorants #121
1.7
Released 08/06/2017
NewAllAdd a basic test suite and continuous integration. #88NewAllAdd a background_color parameter to create_window, which specifies the default color of the webview window. Refer to examples/loading_indicator.py for example use. Thanks to @shivaprsdv. #90NewCocoaDisable backspace navigation. Thanks to @shivaprsdv. #102NewCocoaImplementation of window.print() and window.confirm method. Thanks to @shivaprsdv. #97FixCocoaFix non-existing localization string in save file dialogNewWinformsDisable all the shortcut keys of web navigationFixWinformsFix load_html failing sometimes due thread violationFixGTKImplement fall-through to QT, when GTK is present, but not GTK.WebKit.
1.6
Released 29/03/2017
NewAllQuit confirmation dialog #31NewAllwebview.config can be used using the dot notation (ie. webview.config.use_win32 = True)NewWinformsDisable context menuFixWinformsApplication icon is now visible in the application window when frozen with PyInstaller #91FixMacload_html() is invoked as soon as the webview is ready #93FixQTget_current_url() not working due a typo. Thanks @maroc81. #85FixGTKBetter exception handling when GTK is not found #94FixGTKdestroy_window() #95
1.5
Released 09/02/2017
NewAlltoggle_fullscreen function #52NewAllget_current_url function #76NewWinformsJavascript errors are now suppressedFixWinformsFixed resizable=False not being enforced #73
1.4
Released 14/01/2017
NewAllpip installation now supports choosing what dependencies to install. See README for more information. Thanks @josePhoenixNewAllLocalization support. Refer toexamples/localization.pyfor an example useNewMacQT5 supportFixWindowsFile dialogs are now attached to the main windowFixWindowsPyinstaller crash issue with an icon in Windows Forms
1.3
Released 31/10/2016
NewCocoaAdded View -> Fullscreen standard menu item. Thanks to @bastula.NewCocoaAdded About menu item #45. Thanks to @bastula.NewWindowsAn application icon for Windows FormsFixWindowsRemoved unnecessary pywin32 dependencies from Windows Forms #60FixLinuxThread violation in load_url in GTK implementation #59
1.2.2
Released 10/10/2016
FixAllPython 2 compatibility issue in Flask Example (#52). Thanks to @bastula.FixWindowsPython 3 compatibility issue in Windows Forms implementation (#51)FixLinuxResizing width/height: 100% problem on GTK (#53). Thanks to @klausweiss.
1.2.1
Released 29/09/2016
FixLinuxGTK window failing to open. Thanks to @lchish. #50
1.2
Released 27/09/2016
NewAllIntroducedload_htmlfunction that allows dynamic loading of HTML code, instead of a URL. Implemented for all platforms except Win32 (use Windows Forms). Thanks to @ysobolev #39NewAllAdded an example of a Flask-based application skeleton. The example can be found inexamples/flask_appNewWindowsWindows Forms based implementation of webview window. Requires pythonnet.NewWindowsIntroduced config"USE_WIN32"variable that lets you choose between Win32 and Windows Forms. Default to True (Windows Forms will be made as default in the future)FixWindows/LinuxGot rid of installation dependencies on Windows and Linux. The dependencies now have to be installed by hand and the choice of dependencies is left to userFixLinuxCompatibility with Qt 5.5. Thanks to @danidee10. #48
1.1
Released 08/06/2016
NewOSXAdd a default application menu #35. Thanks @cuibonoboNewLinuxGTK is made as default and pypi dependency added. USE_GTK environment variable is also deprecated. To use QT, setwebview.config"USE_QT"= TrueFixWindowsOpen folder of create_file_dialog now returns Unicode, instead of byte encoding.
1.0.2
Released 19/05/2016
FixWindowsFix a dead-lock that sometimes occurs on a window creation, when used with a HTTP server running in a separate thread.
1.0.1
Released 17/05/2016
FixWindowsPyInstaller: Icon not found #29
1.0
Released 12/02/2016
NewAllAdd an ability to programmatically destroy a webview windowFixWindowsFullscreen modeFixWindowsChange setup.py to use pypiwin32 #22FixWindowsRelative import of win32_gen fixed on Python 3 #20. Thanks to @yoavram for the contributionFixWindowsFileNotFound exception on Windows 2003. Thanks to @jicho for the contributionFixOSXNon-SSL URLs are allowed by default on El Capitan. Thanks to @cr0hn for the contribution
0.9
Released 27/11/2015
NewAllRight click context menu is disabled #12NewAllWindow minimum size constraints #13NewAllSave file dialogNewAllAddeddirectoryandsave_filenameparameters tocreate_file_dialogNewAllAn option to set a default directory in a file dialogNewGTKIntroduced USE_GTK environment variable. When set, GTK is preferred over QT.FixWindowsWebview scrollbar sizing with a non-resizable windowFixWindowsAdd support for application icon #9FixWindowsDisable logging spam for comtypes
0.8.4
FixWindowsInvisible scrollbarsFixWindowsFullscreen mode
0.8.3
Fixed#10 Underlying browser does not resize with window under windows
0.8.2
Released on 08/10/2015
FixedPressing close window button terminates the whole program on OSX
0.8
Released on 06/10/2015
NewSupport for native open file / open folder dialogsFixed#6 FEATURE_BROWSER_EMULATION not in winreg.HKEY_CURRENT_USER. Thanks to @frip for the fix.
0.7
Released on 08/04/2015
FixedPython 3 compatibility in Win32 module (thanks @Firnagzen) #3FixedFloating values for window dimensions causing issues on Windows XP (thanks @Firnagzen) #4FixedCorrect IE version registry key on Windows XP (thanks @Firnagzen) #5
0.6
Released on 11/02/2015
FixedA problem preventing from creating a window on Windows
0.5
Released on 30/11/2014
NewWindows supportNewGTK3 supportNewpip installationNewFullscreen mode
0.1
Released on 20/11/2014
- First release
- Linux and OSX support
