1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Changelog | pywebview</title>
<meta name="generator" content="VuePress 1.9.7">
<meta name="description" content="Build GUI for your Python program with JavaScript, HTML, and CSS">
<link rel="preload" href="/3.7/assets/css/0.styles.28a501df.css" as="style"><link rel="preload" href="/3.7/assets/js/app.10a559eb.js" as="script"><link rel="preload" href="/3.7/assets/js/2.0ff7ef1d.js" as="script"><link rel="preload" href="/3.7/assets/js/8.66fb3acb.js" as="script"><link rel="prefetch" href="/3.7/assets/js/10.f125ec08.js"><link rel="prefetch" href="/3.7/assets/js/11.81fead78.js"><link rel="prefetch" href="/3.7/assets/js/12.0a86c191.js"><link rel="prefetch" href="/3.7/assets/js/13.c09145fc.js"><link rel="prefetch" href="/3.7/assets/js/14.2a7dc35b.js"><link rel="prefetch" href="/3.7/assets/js/15.90c9f36a.js"><link rel="prefetch" href="/3.7/assets/js/16.69b1f4b4.js"><link rel="prefetch" href="/3.7/assets/js/17.956ed884.js"><link rel="prefetch" href="/3.7/assets/js/18.bd6678a0.js"><link rel="prefetch" href="/3.7/assets/js/19.b31e62b7.js"><link rel="prefetch" href="/3.7/assets/js/20.cebc4a71.js"><link rel="prefetch" href="/3.7/assets/js/21.d2041966.js"><link rel="prefetch" href="/3.7/assets/js/22.2a3916f2.js"><link rel="prefetch" href="/3.7/assets/js/23.712fbf84.js"><link rel="prefetch" href="/3.7/assets/js/24.f768e66b.js"><link rel="prefetch" href="/3.7/assets/js/25.69b3e415.js"><link rel="prefetch" href="/3.7/assets/js/26.6619f84a.js"><link rel="prefetch" href="/3.7/assets/js/27.e2a4e1bf.js"><link rel="prefetch" href="/3.7/assets/js/28.abcc819c.js"><link rel="prefetch" href="/3.7/assets/js/29.c379d080.js"><link rel="prefetch" href="/3.7/assets/js/3.749f6582.js"><link rel="prefetch" href="/3.7/assets/js/30.771e8640.js"><link rel="prefetch" href="/3.7/assets/js/31.547a8393.js"><link rel="prefetch" href="/3.7/assets/js/32.778a82c7.js"><link rel="prefetch" href="/3.7/assets/js/33.6ff70f11.js"><link rel="prefetch" href="/3.7/assets/js/34.ae1b5fb4.js"><link rel="prefetch" href="/3.7/assets/js/35.c5555b94.js"><link rel="prefetch" href="/3.7/assets/js/36.d53c471f.js"><link rel="prefetch" href="/3.7/assets/js/37.bbba2d58.js"><link rel="prefetch" href="/3.7/assets/js/38.5eb30036.js"><link rel="prefetch" href="/3.7/assets/js/39.8cac65fe.js"><link rel="prefetch" href="/3.7/assets/js/4.f2c64e71.js"><link rel="prefetch" href="/3.7/assets/js/40.53182a9c.js"><link rel="prefetch" href="/3.7/assets/js/41.19399765.js"><link rel="prefetch" href="/3.7/assets/js/42.41128068.js"><link rel="prefetch" href="/3.7/assets/js/43.660f3959.js"><link rel="prefetch" href="/3.7/assets/js/44.09d5c6f8.js"><link rel="prefetch" href="/3.7/assets/js/45.4a818eab.js"><link rel="prefetch" href="/3.7/assets/js/46.d1621897.js"><link rel="prefetch" href="/3.7/assets/js/47.7f8f8dec.js"><link rel="prefetch" href="/3.7/assets/js/48.f27d4c39.js"><link rel="prefetch" href="/3.7/assets/js/49.4189d401.js"><link rel="prefetch" href="/3.7/assets/js/5.2a771d7d.js"><link rel="prefetch" href="/3.7/assets/js/50.beff8380.js"><link rel="prefetch" href="/3.7/assets/js/51.8a918a6c.js"><link rel="prefetch" href="/3.7/assets/js/52.92d0105f.js"><link rel="prefetch" href="/3.7/assets/js/53.28701cde.js"><link rel="prefetch" href="/3.7/assets/js/54.2b15d6fb.js"><link rel="prefetch" href="/3.7/assets/js/55.d231c742.js"><link rel="prefetch" href="/3.7/assets/js/56.7e02bbff.js"><link rel="prefetch" href="/3.7/assets/js/57.61e9e46c.js"><link rel="prefetch" href="/3.7/assets/js/58.cc70e253.js"><link rel="prefetch" href="/3.7/assets/js/59.d3f412e7.js"><link rel="prefetch" href="/3.7/assets/js/6.64e1f3ed.js"><link rel="prefetch" href="/3.7/assets/js/60.f4fd7728.js"><link rel="prefetch" href="/3.7/assets/js/61.cd0f1d68.js"><link rel="prefetch" href="/3.7/assets/js/62.bf000bcc.js"><link rel="prefetch" href="/3.7/assets/js/63.807edde1.js"><link rel="prefetch" href="/3.7/assets/js/64.2b6fe843.js"><link rel="prefetch" href="/3.7/assets/js/7.779cbcff.js"><link rel="prefetch" href="/3.7/assets/js/9.84350af9.js">
<link rel="stylesheet" href="/3.7/assets/css/0.styles.28a501df.css">
</head>
<body>
<div id="app" data-server-rendered="true"><div class="theme-container no-sidebar"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/3.7/" class="home-link router-link-active"><img src="/3.7/logo-no-text.png" alt="pywebview" class="logo"> <span class="site-name can-hide">pywebview</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/3.7/guide/" class="nav-link">
Guide
</a></div><div class="nav-item"><a href="/3.7/examples/" class="nav-link">
Examples
</a></div><div class="nav-item"><a href="/3.7/contributing/" class="nav-link">
Contributing
</a></div><div class="nav-item"><a href="/3.7/blog/" class="nav-link">
Blog
</a></div><div class="nav-item"><a href="/3.7/CHANGELOG.html" aria-current="page" class="nav-link router-link-exact-active router-link-active">
Changelog
</a></div> <a href="https://github.com/r0x0r/pywebview" target="_blank" rel="noopener noreferrer" class="repo-link">
GitHub
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><nav class="nav-links"><div class="nav-item"><a href="/3.7/guide/" class="nav-link">
Guide
</a></div><div class="nav-item"><a href="/3.7/examples/" class="nav-link">
Examples
</a></div><div class="nav-item"><a href="/3.7/contributing/" class="nav-link">
Contributing
</a></div><div class="nav-item"><a href="/3.7/blog/" class="nav-link">
Blog
</a></div><div class="nav-item"><a href="/3.7/CHANGELOG.html" aria-current="page" class="nav-link router-link-exact-active router-link-active">
Changelog
</a></div> <a href="https://github.com/r0x0r/pywebview" target="_blank" rel="noopener noreferrer" class="repo-link">
GitHub
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav> <!----> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="changelog"><a href="#changelog" class="header-anchor">#</a> Changelog</h1> <h2 id="_3-7"><a href="#_3-7" class="header-anchor">#</a> 3.7</h2> <p><em>Released 04/11/2022</em></p> <h3 id="⚡-features"><a href="#⚡-features" class="header-anchor">#</a> ⚡ Features</h3> <ul><li>[All] New <code>window.moved</code> event. Thanks @irtimir</li></ul> <h3 id="🚀-improvements"><a href="#🚀-improvements" class="header-anchor">#</a> 🚀 Improvements</h3> <ul><li>[EdgeChromium] Remove <code>The system cannot find the file specified - Microsoft Edge WebView2 Runtime Registry path: Computer\HKEY_CURRENT_USER\Microsoft\EdgeUpdate\Clients{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}</code> error message displayed in debug mode.</li> <li>[CEF] error.log is no longer deleted when in debug mode.</li></ul> <h3 id="🐞-bug-fixes"><a href="#🐞-bug-fixes" class="header-anchor">#</a> 🐞 Bug fixes</h3> <ul><li>[All] Fix <code>evaluate_js_async</code> crash and program termination prevention. Thanks @detritophage.</li> <li>[WinForms] Fix form initialization for pythonnet 3. Thanks @irtimir</li> <li>[CEF] Fix errorous script execution in <code>evaluate_js</code>, so that further script do not get stuck. Thanks @irtimir</li> <li>[CEF] Fix <code>master uid not found</code> error on startup.</li> <li>[QT] Remove 'Empty key passed' messages. Thanks @TomFryers</li> <li>[QT] PySide6 backend not working. Thanks @sbbosco</li> <li>[QT] Prevent 'Release of profile requested but WebEnginePage still not deleted. Expect troubles !' message on close. Thanks @sbbosco</li></ul> <h2 id="_3-6-3"><a href="#_3-6-3" class="header-anchor">#</a> 3.6.3</h2> <p><em>Released 05/04/2022</em></p> <h3 id="🐞-bug-fixes-2"><a href="#🐞-bug-fixes-2" class="header-anchor">#</a> 🐞 Bug fixes</h3> <ul><li>[Winforms] Support for Edge Chromium v100. Thanks @greper.</li></ul> <h2 id="_3-6-2"><a href="#_3-6-2" class="header-anchor">#</a> 3.6.2</h2> <p><em>Released 05/03/2022</em></p> <h3 id="🐞-bug-fixes-3"><a href="#🐞-bug-fixes-3" class="header-anchor">#</a> 🐞 Bug fixes</h3> <ul><li>[Cocoa] Fix closing window</li></ul> <h2 id="_3-6-1"><a href="#_3-6-1" class="header-anchor">#</a> 3.6.1</h2> <p><em>Released 16/02/2022</em></p> <ul><li><code>Fix</code> [CEF] Exception on start</li></ul> <h2 id="_3-6"><a href="#_3-6" class="header-anchor">#</a> 3.6</h2> <p><em>Released 15/02/2022</em></p> <ul><li><code>New</code> [All] Python 3.6 is the minimum supported version from now on.</li> <li><code>New</code> [All] <code>minimized</code>, <code>maximized</code>, <code>restored</code>, <code>resized</code> events. Thanks @BillBridge for sponsorship.</li> <li><code>New</code> [All] <code>evaluate_js</code> async support. <code>evaluate_js(code, callback)</code> can evaluate promises via an optional callback parameter.</li> <li><code>New</code> [All] Events moved to its own <code>window.events</code> namespace (e.g. <code>window.loaded</code> → <code>window.events.loaded</code>). Old events are supported throughout 3.x and will be removed in 4.0.</li> <li><code>New</code> [All] <code>window.resize(width, height, fix_point)</code> has now an optional parameter fix_point that controls in respect to which point the window is resized.</li> <li><code>New</code> [All] MSHTML and EdgeHTML are deprecated. No further development will be done on these renderers.</li> <li><code>New</code> [Winforms] Focus webview on start or window activate events.</li> <li><code>New</code> [EdgeChromium] Custom user agent support.</li> <li><code>New</code> [EdgeChromium] Window transparency support. Mouse and keyboards events are not supported in transparent. Thanks @odtian.</li> <li><code>New</code> [CEF] Ability to pass custom CEF browser settings. Thanks @Rolf-MP.</li> <li><code>Improvement</code> [EdgeChromium] Support non-elevated installations of WebView2. Thanks @ultrararetoad.</li> <li><code>Improvement</code> [EdgeChromium] Better support for Edge Chromium runtime detectiom. Thanks @r-muthu-saravanan.</li> <li><code>Improvement</code> [EdgeChromium] WebView2 runtime updated to</li> <li><code>Improvement</code> [QT] Pyside support via PyQT wrapper. Thanks @tshemeng.</li> <li><code>Fix</code> [Cocoa] Make Ctrl-C (SIGINT) work on Cocoa when running from the command line</li> <li><code>Fix</code> [EdgeChromium] Fix `load_html. Thanks @sbbosco.</li> <li><code>Fix</code> [Cocoa] Fix cancelling of closing the window in the closing event Thanks @fizzadar.</li> <li><code>Fix</code> [QT] Fix simultaneous calls to JS API.</li> <li><code>Fix</code> [GTK] Fix concurrency issues with get_size, get_position and get_current_url.</li></ul> <h2 id="_3-5"><a href="#_3-5" class="header-anchor">#</a> 3.5</h2> <p><em>Released 02/08/2021</em></p> <ul><li><code>New</code> [All] Get information about available screens via new <code>webview.screens</code> property.</li> <li><code>New</code> [All] Per window localization. Thanks @fizzadar.</li> <li><code>New</code> [All] Window closing can be cancelled by returning False from a closing event handler. #744.</li> <li><code>Fix</code> [All] Debug mode cannot be set under certain conditions. #628</li> <li><code>Improvement</code> [All] Selected web renderer printed in Python console in debug mode.</li> <li><code>Improvement</code> [All] JS API serialization logic. Thanks @peter23</li> <li><code>Improvement</code> [EdgeChromium] Chromium runtime updated to version 1.0.774.44. Thanks @sbbosco.</li> <li><code>Improvement</code> [EdgeChromium] Custom user agent support.</li> <li><code>Fix</code> [WinForms] Icon handling logic to make pywebview compatible with pystray. #720. Thanks @simonrob</li> <li><code>Fix</code> [EdgeChromium] Change webview component to transparent. Thanks @ODtian</li> <li><code>Fix</code> [CEF] Fix exception when destroying window</li> <li><code>Fix</code> [Cocoa] cmd+w bypasses exit confirmation dialogue. #698. Thanks @fizzadar</li> <li><code>Fix</code> [Cocoa] Fix window coordinate calculation logic when moving a window.</li> <li><code>Fix</code> [MSHTML] Fix drag_region</li> <li><code>Fix</code> [MSHTML] Fix window.alert</li></ul> <h2 id="_3-4-second-wave"><a href="#_3-4-second-wave" class="header-anchor">#</a> 3.4: Second wave</h2> <p><em>Released 04/12/2020</em></p> <ul><li><code>New</code> [Windows] WebView2 Chromium support. Thanks <a href="https://github.com/sbbosco" target="_blank" rel="noopener noreferrer">sbbosco<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>. <a href="https://github.com/r0x0r/pywebview/issues/521" target="_blank" rel="noopener noreferrer">#521<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>.</li> <li><code>Fix</code> [All] Exception with HTML checkboxes and <code>get_elements</code>. <a href="https://github.com/r0x0r/pywebview/issues/622" target="_blank" rel="noopener noreferrer">#622<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>.</li> <li><code>Fix</code> [All] pystray compatibility. Thanks <a href="https://github.com/AlexCovizzi" target="_blank" rel="noopener noreferrer">AlexCovizzi<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>. <a href="https://github.com/r0x0r/pywebview/issues/486" target="_blank" rel="noopener noreferrer">#486<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>.</li> <li><code>Fix</code> [All] expose methods instead of all callables for JS API objects. Thanks <a href="https://github.com/jgentil" target="_blank" rel="noopener noreferrer">jgentil<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>. <a href="https://github.com/r0x0r/pywebview/issues/629" target="_blank" rel="noopener noreferrer">#629<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>.</li> <li><code>Fix</code> [EdgeHTML] Make returning results of <code>evaluate_js</code> more robust. Thanks <a href="https://github.com/sbbosco" target="_blank" rel="noopener noreferrer">sbbosco<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>.</li> <li><code>Fix</code> [QT] KDE_FULL_SESSION not being used. Thanks <a href="https://github.com/Maltzur" target="_blank" rel="noopener noreferrer">Maltzur<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>.</li> <li><code>Fix</code> [Cocoa] Unicode filenames for input files.</li> <li><code>Improvement</code> [Cocoa] Only install the specific <code>pyobjc</code> packages required. Thanks <a href="https://github.com/fizzadar" target="_blank" rel="noopener noreferrer">Fizzadar<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>.</li> <li><code>Improvement</code> [Cocoa] Add support for default document navigation and window handling shortcut keys . Thanks <a href="https://github.com/ikhmyz" target="_blank" rel="noopener noreferrer">ikhmyz<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a> and <a href="https://github.com/fizzadar" target="_blank" rel="noopener noreferrer">Fizzadar<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li></ul> <h2 id="_3-3-5"><a href="#_3-3-5" class="header-anchor">#</a> 3.3.5</h2> <p><em>Released 26/09/2020</em></p> <ul><li><code>Fix</code> [EdgeHTML] Server middleware handling</li> <li><code>Fix</code> [EdgeHTML] file:// url handling</li></ul> <h2 id="_3-3-4"><a href="#_3-3-4" class="header-anchor">#</a> 3.3.4</h2> <p><em>Released 18/09/2020</em></p> <ul><li><code>Fix</code> [EdgeHTML] Fix content not displaying with local URLs or local HTTP server</li> <li><code>Fix</code> [Cocoa] Fixes arrow keys not responding in text input fields. Thanks <a href="https://github.com/awesomo4000" target="_blank" rel="noopener noreferrer">awesomo4000<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li></ul> <h2 id="_3-3-3"><a href="#_3-3-3" class="header-anchor">#</a> 3.3.3</h2> <p><em>Released 08/08/2020</em></p> <ul><li><code>Fix</code> [Cocoa] Save dialog not working <a href="https://github.com/r0x0r/pywebview/issues/578" target="_blank" rel="noopener noreferrer">#578<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>.</li> <li><code>Fix</code> [Cocoa] Error sound being played when pressing keys on macOS <a href="https://github.com/r0x0r/pywebview/issues/566" target="_blank" rel="noopener noreferrer">#566<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>.</li></ul> <h2 id="_3-3-2"><a href="#_3-3-2" class="header-anchor">#</a> 3.3.2</h2> <p><em>Released 28/07/2020</em></p> <ul><li><code>Fix</code> [All] Load html triggers error - resolve_url() missing 1 required positional argument: 'should_serve' <a href="https://github.com/r0x0r/pywebview/issues/562" target="_blank" rel="noopener noreferrer">#562<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>.</li> <li><code>Fix</code> [Cocoa/GTK] Access window size on closing <a href="https://github.com/r0x0r/pywebview/issues/573" target="_blank" rel="noopener noreferrer">#573<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>.</li> <li><code>Fix</code> [GTK] Save file dialog now returns a string instead of a tuple.</li></ul> <h2 id="_3-3-1"><a href="#_3-3-1" class="header-anchor">#</a> 3.3.1</h2> <p><em>Released 01/07/2020</em></p> <ul><li><code>Fix</code> [WinForms] TypeError : 'str' value cannot be converted to System.Drawing.Color <a href="https://github.com/r0x0r/pywebview/issues/560" target="_blank" rel="noopener noreferrer">#560<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>.</li></ul> <h2 id="_3-3-detroit-edition"><a href="#_3-3-detroit-edition" class="header-anchor">#</a> 3.3: Detroit Edition</h2> <p><em>Released 29/06/2020</em></p> <ul><li><code>New</code> [All] Brand-new WSGI based internal HTTP server. Thanks <a href="https://github.com/astronouth7303" target="_blank" rel="noopener noreferrer">@astronouth7303<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>.</li> <li><code>New</code> [All] Transparent window. Not available on Windows.</li> <li><code>New</code> [All] Allow <em>pywebview</em> window to be on top of other windows.</li> <li><code>New</code> [All] Custom window drag region using CSS classes. Thanks <a href="https://github.com/Fizzadar" target="_blank" rel="noopener noreferrer">@Fizzadar<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>.</li> <li><code>New</code> [All] Custom user-agent support. Thanks <a href="https://github.com/tognee" target="_blank" rel="noopener noreferrer">@tognee<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>.</li> <li><code>Fix</code> [All] Python function not triggered using JS <a href="https://github.com/r0x0r/pywebview/issues/458" target="_blank" rel="noopener noreferrer">#458<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>.</li> <li><code>Fix</code> [All] window methods do not work in <code>loaded</code> event <a href="https://github.com/r0x0r/pywebview/issues/528" target="_blank" rel="noopener noreferrer">#528<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>.</li> <li><code>Fix</code> [Cocoa] Caption bar and window control buttons are now hidden in frameless mode.</li> <li><code>Fix</code> [CEF] CEF window resize hang <a href="https://github.com/r0x0r/pywebview/issues/484" target="_blank" rel="noopener noreferrer">#484<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>.</li> <li><code>Fix</code> [MSHTML] Fix easy drag in frameless mode.</li> <li><code>Fix</code> [EdgeHTML] Do not show admin prompt for non-local URLs.</li> <li><code>Fix</code> [GTK] Fix threading issues with recentish versions of PyGObject</li> <li><code>Fix</code> [QT] Fix opening web inspecting in debug mode</li></ul> <h2 id="_3-2-humate-edition"><a href="#_3-2-humate-edition" class="header-anchor">#</a> 3.2: Humate Edition</h2> <p><em>Released 24/01/2020</em></p> <ul><li><code>New</code> [All] Window x, y, width and height properties to retrieve coordinates and dimensions of the window. Thanks <a href="https://github.com/Fizzadar" target="_blank" rel="noopener noreferrer">@Fizzadar<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li> <li><code>New</code> [All] <code>window.expose(func)</code> an ability to expose an arbitrary function to the JS realm, also during the runtime.</li> <li><code>Improvement</code> [All] JS API methods can now accept an arbitrary number of arguments</li> <li><code>Improvement</code> [All] Exceptions thrown in a JS API method is now raised in Javascript via its promise.</li> <li><code>Improvement</code> [All] Exceptions thrown in window event handlers are now caught and logged.</li> <li><code>Improvement</code> [All] Random port assigned by the built-in HTTP server can be retrieved via <code>webview.http_server.port</code></li> <li><code>Improvement</code> [QT] Microphone/webcam are enabled by default. Thanks <a href="https://github.com/dtcooper" target="_blank" rel="noopener noreferrer">@dtcooper<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li> <li><code>Improvement</code> [QT] Default debugger port is changed to 8228. Thanks <a href="https://github.com/melvinkcx" target="_blank" rel="noopener noreferrer">@melvinkcx<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li> <li><code>Improvement</code> [CEF] Ability to pass custom CEF settings via <code>webview.platforms.cef.settings</code>. See <a href="/3.7/examples/cef.html">example</a> for details.</li> <li><code>Fix</code> [All] Built-in HTTP server is properly restarted when using <code>window.load_url</code></li> <li><code>Fix</code> [Cocoa] New window position is correctly calculated when using <code>window.move</code></li> <li><code>Fix</code> [EdgeHTML] <code>window.alert</code> fix</li></ul> <h2 id="_3-1-windows-edition"><a href="#_3-1-windows-edition" class="header-anchor">#</a> 3.1: Windows Edition</h2> <p><em>Released 04/11/2019</em></p> <ul><li><code>New</code> [All] Window minimize/restore functionality. Ability to show window minimized on startup.</li> <li><code>New</code> [All] Window hide/show functionality. Ability to show window hidden on startup.</li> <li><code>New</code> [All] Window move functionality. Ability to set window coordinates on startup. Thanks @adbenitez.</li> <li><code>New</code> [All] New <code>window.pywebviewready</code>DOM event that is thrown when <code>window.pywebview</code> is available.</li> <li><code>New</code> [All] Links opened via <code>window.open</code> are opened in a new browser window.</li> <li><code>Fix</code> [All] Fix concurrent invocations of JS API functions.</li> <li><code>Fix</code> [All] Fix unescaped single quote in JS API calls.</li> <li><code>Fix</code> [All] Built-in HTTP server is now multi-threaded. This fixes stalling HTTP requests in some cases.</li> <li><code>Improvement</code> [All] <code>window.set_window_size</code> is deprecated in favour to <code>window.resize</code>.</li> <li><code>Improvement</code> [All] Exceptions are now handled in JS API functions and rerouted to the function promise catch method.</li> <li><code>Improvement</code> [All] Suppress built-in HTTP server logging. Logging is active only in the debug mode.</li> <li><code>Fix</code> [CEF] Fix deadlock occurring when trying to access <code>window.pywebview</code> object right after the window is created.</li> <li><code>Fix</code> [CEF] High DPI fix resulting in a small window appearing inside the main window,</li> <li><code>Fix</code> [EdgeHTML] Unicode error when loading HTML.</li> <li><code>Fix</code> [MSHTML] <code>get_elements</code> failing.</li> <li><code>Fix</code> [MSHTML] <code>console.log</code> not writing to Python console in debug mode.</li> <li><code>Fix</code> [MSHTML] Forcing MSHTML via <code>gui=mshtml</code> is now possible. ¯\_(ツ)_/¯</li></ul> <img src="/windows31.png" alt="Windows 3.1"> <h2 id="_3-0-2"><a href="#_3-0-2" class="header-anchor">#</a> 3.0.2</h2> <p><em>Released 17/08/2019</em></p> <ul><li><code>Fix</code> [All] Prevent JSON like strings being converted to JSON objects when returning JS API calls. #352</li> <li><code>Fix</code> [Windows] HTTP 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.</li> <li><code>Fix</code> [Tests] Tests now fail on an exception occurring in a thread.</li></ul> <h2 id="_3-0-1"><a href="#_3-0-1" class="header-anchor">#</a> 3.0.1</h2> <p><em>Released 25/07/2019</em></p> <ul><li><code>Fix</code> [All] Don't escape line breaks in result of js_bridge_call. Thanks @kvasserman.</li> <li><code>Fix</code> [Windows] Support for Pyinstaller noconsole mode</li> <li><code>Fix</code> [Windows] Fix Windows version detection with frozen executables.</li> <li><code>Fix</code> [Windows] Open folder dialog now supports <code>directory</code> argument.</li> <li><code>Fix</code> [QT] Workaround for segmentation fault on closing the main window. Thanks @kvasserman.</li> <li><code>Fix</code> [Pytest] Fix for pytest warning about invalid escape sequence</li></ul> <h2 id="_3-0"><a href="#_3-0" class="header-anchor">#</a> 3.0</h2> <p><em>Released 11/07/2019</em></p> <ul><li><code>New</code> [All] New API. The API is not compatible with older versions of <em>pywebview</em>. See https://pywebview.flowrl.com for usage details. #272</li> <li><code>New</code> [All] Built-in HTTP server. #260</li> <li><code>New</code> [All] Autogenerated CSRF token exposed as <code>window.pywebview.token</code>. #316</li> <li><code>New</code> [All] <code>get_elements</code> function to retrieve DOM nodes. #292</li> <li><code>New</code> [All] New events system that lets you to subscribe to events. <code>loaded</code> and <code>shown</code> events are implemented. #201</li> <li><code>New</code> [Windows] EdgeHTML support. Thanks @heavenvolkoff. #243</li> <li><code>Fix</code> [Windows] Fullscreen mode. #338</li> <li><code>Fix</code> [GTK] Better Javascript support for recent version of WebKit2</li> <li><code>Fix</code> [CEF] Support for PyInstaller in onefile mode</li></ul> <h2 id="_2-4"><a href="#_2-4" class="header-anchor">#</a> 2.4</h2> <p><em>Released 17/02/2019</em></p> <ul><li><code>New</code> [All] Support for frameless windows.</li> <li><code>Fix</code> [Windows] Fix broken installation of v2.3</li></ul> <h2 id="_2-3"><a href="#_2-3" class="header-anchor">#</a> 2.3</h2> <p><em>Released 12/02/2019</em></p> <ul><li><code>New</code> [All] Ability to resize window after creation <code>webview.set_window_size(width, height)</code>. Thanks @aprowe #274</li> <li><code>New</code> [Windows] Chrome Embedded Framework (CEF) support #15</li> <li><code>Improvement</code> [All] <em>pywebview</em> does not interfer with Python's logger configuration #295</li> <li><code>Fix</code> [All] Empty DOM issues when window is created without a URL #285</li> <li><code>Improvement</code> [macOS] Web renderer upgraded to WKWebView</li> <li><code>Improvement</code> [macOS] Add support for Mojave dark mode</li> <li><code>Fix</code> [macOS] Problem with handling paths containing spaces #283</li> <li><code>Fix</code> [QT] Better support for QTWebKit and QTWebChannel #304</li> <li><code>Improvement</code> [QT] Remove support for QT4</li> <li><code>Fix</code> [GTK] Thrown exception not Python 2 compatible #277</li></ul> <h2 id="_2-2-1"><a href="#_2-2-1" class="header-anchor">#</a> 2.2.1</h2> <p><em>Released 24/10/2018</em></p> <ul><li><code>Fix</code> Dependency installation</li> <li><code>New</code> Reintroduce [qt] extra require switch</li></ul> <h2 id="_2-2"><a href="#_2-2" class="header-anchor">#</a> 2.2</h2> <p><em>Released 23/10/2018</em></p> <ul><li><code>New</code> Brand new documentation at https://pywebview.flowrl.com</li> <li><code>Improvement</code> Simplify installation. Now pywebview can be installed by <code>pip install pywebview</code>. Dependencies will be resolved and installed automatically</li> <li><code>Improvement</code> [GTK] Update to WebKit2</li></ul> <h2 id="_2-1"><a href="#_2-1" class="header-anchor">#</a> 2.1</h2> <p>Released 16/09/2018</p> <ul><li><code>New</code> [All] Introduce <code>PYWEBVIEW_GUI</code> environment variable and <code>webview.config.gui</code> property. Acceptable values are are <code>qt</code>, <code>gtk</code> and <code>win32</code>. <code>USE_QT</code> and <code>USE_WIN32</code> is deprecated.</li> <li><code>Fix</code> [Cocoa] Closing main window does not result in program termination</li> <li><code>Fix</code> [All] New main window re-creation after closing. #229</li> <li><code>Fix</code> [QT] Debug mode #233</li> <li><code>Fix</code> [Cocoa/Windows] Preserve JS API on page reload</li> <li><code>Fix</code> [Windows] <code>toggle_fullscreen()</code> function #232. Thanks @lt94</li> <li><code>Fix</code> [Windows] <code>load_css()</code> function. Thanks @wormius.</li></ul> <h2 id="_2-0-3"><a href="#_2-0-3" class="header-anchor">#</a> 2.0.3</h2> <p>Released 16/05/2018</p> <ul><li><code>Fix</code> [QT] Fix a deadlock preventing QT implementation from starting</li> <li><code>Fix</code> [QT] QT is set to default on QT-based systems</li></ul> <h2 id="_2-0-1-2-0-2"><a href="#_2-0-1-2-0-2" class="header-anchor">#</a> 2.0.1/2.0.2</h2> <p>Released 08/05/2018</p> <ul><li><code>Fix</code> [Winforms] Fix installation of dlls</li></ul> <h2 id="_2-0"><a href="#_2-0" class="header-anchor">#</a> 2.0</h2> <p>Released 28/04/2018</p> <ul><li><code>New</code> [All] Multi-window support</li> <li><code>New</code> [All] Ability to call Python code from Javascript via <code>window.pywebview.api</code></li> <li><code>New</code> [All] Debug mode. Web inspector for Cocoa/GTK/QT and basic debug information for WinForms.</li> <li><code>New</code> [All] File filter support in <code>create_file_dialog</code></li> <li><code>New</code> [All] <code>target='_blank'</code> links are now opened in an external browser</li> <li><code>New</code> [All] Change window title via a <code>set_title</code> function #159</li> <li><code>New</code> [All] <code>load_css</code> function</li> <li><code>New</code> [All] Support for relative local URLs in <code>create_window</code> / <code>load_html</code>. Linked local resources are resolved as well. #186</li> <li><code>New</code> [All] <code>todos</code> example app demonstrating js api and relative local URLs.</li> <li><code>New</code> [All] Text select in the webview window is disabled by default. Added <code>text_select</code> argument to <code>create_window</code> function.</li> <li><code>New</code> [QT] OpenBSD 6.x support #213. Thanks @hucste.</li> <li><code>Fix</code> [All] <code>base_uri</code> parameter of <code>load_html</code> defaults to the directory of the entry script</li> <li><code>Fix</code> [All] Consistent return types with <code>evaluate_js</code> across different platforms #175</li> <li><code>Fix</code> [All] Various concurrency issues and deadlocks</li> <li><code>Fix</code> [Winforms] Hide <code>Message from webpage</code> when using <code>alert</code> Javascript function #150</li> <li><code>Fix</code> [Winforms] Support for high DPI #179</li> <li><code>Fix</code> [QT] Support for QT 5.10 #171. Thanks @adbenitez</li> <li><code>Fix</code> [QT] Deprecate QT4. Starting from this version new features won't be tested on QT4 and support will be removed in the future.</li></ul> <h2 id="_1-8"><a href="#_1-8" class="header-anchor">#</a> 1.8</h2> <p>Released 29/10/2017</p> <ul><li>pywebview has the official logo</li> <li>@shivaprsdv is now an official maintainer of the project</li> <li><code>New</code> [All] Add an ability to run Javascript code using <code>evaluate_js</code> function</li> <li><code>Fix</code> [Cocoa] Implement missing webview components (file input dialog, alert()/confirm() JS functions)</li> <li><code>Fix</code> [Winforms] Fix issue with non-responsive UI when a loading screen background color is used</li> <li><code>Fix</code> [Winforms] Add support for Del and Ctrl+A keys in input elements.</li> <li><code>New</code> [QT] QT5 is now prefererred over QT4</li> <li><code>Fix</code> [QT] Fix return parameters of <code>create_file_dialog</code> to have the same format as on other platforms</li> <li><code>Fix</code> [GTK] Better threading model. Thanks to @jorants #121</li></ul> <h2 id="_1-7"><a href="#_1-7" class="header-anchor">#</a> 1.7</h2> <p>Released 08/06/2017</p> <ul><li><code>New</code> [All] Add a basic test suite and continuous integration. #88</li> <li><code>New</code> [All] Add 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. #90</li> <li><code>New</code> [Cocoa] Disable backspace navigation. Thanks to @shivaprsdv. #102</li> <li><code>New</code> [Cocoa] Implementation of window.print() and window.confirm method. Thanks to @shivaprsdv. #97</li> <li><code>Fix</code> [Cocoa] Fix non-existing localization string in save file dialog</li> <li><code>New</code> [Winforms] Disable all the shortcut keys of web navigation</li> <li><code>Fix</code> [Winforms] Fix load_html failing sometimes due thread violation</li> <li><code>Fix</code> [GTK] Implement fall-through to QT, when GTK is present, but not GTK.WebKit.</li></ul> <h2 id="_1-6"><a href="#_1-6" class="header-anchor">#</a> 1.6</h2> <p>Released 29/03/2017</p> <ul><li><code>New</code> [All] Quit confirmation dialog #31</li> <li><code>New</code> [All] webview.config can be used using the dot notation (ie. webview.config.use_win32 = True)</li> <li><code>New</code> [Winforms] Disable context menu</li> <li><code>Fix</code> [Winforms] Application icon is now visible in the application window when frozen with PyInstaller #91</li> <li><code>Fix</code> [Mac] load_html() is invoked as soon as the webview is ready #93</li> <li><code>Fix</code> [QT] get_current_url() not working due a typo. Thanks @maroc81. #85</li> <li><code>Fix</code> [GTK] Better exception handling when GTK is not found #94</li> <li><code>Fix</code> [GTK] destroy_window() #95</li></ul> <h2 id="_1-5"><a href="#_1-5" class="header-anchor">#</a> 1.5</h2> <p>Released 09/02/2017</p> <ul><li><code>New</code> [All] toggle_fullscreen function #52</li> <li><code>New</code> [All] get_current_url function #76</li> <li><code>New</code> [Winforms] Javascript errors are now suppressed</li> <li><code>Fix</code> [Winforms] Fixed resizable=False not being enforced #73</li></ul> <h2 id="_1-4"><a href="#_1-4" class="header-anchor">#</a> 1.4</h2> <p>Released 14/01/2017</p> <ul><li><code>New</code> [All] pip installation now supports choosing what dependencies to install. See README for more information. Thanks @josePhoenix</li> <li><code>New</code> [All] Localization support. Refer to <code>examples/localization.py</code> for an example use</li> <li><code>New</code> [Mac] QT5 support</li> <li><code>Fix</code> [Windows] File dialogs are now attached to the main window</li> <li><code>Fix</code> [Windows] Pyinstaller crash issue with an icon in Windows Forms</li></ul> <h2 id="_1-3"><a href="#_1-3" class="header-anchor">#</a> 1.3</h2> <p>Released 31/10/2016</p> <ul><li><code>New</code> [Cocoa] Added View -> Fullscreen standard menu item. Thanks to @bastula.</li> <li><code>New</code> [Cocoa] Added About menu item #45. Thanks to @bastula.</li> <li><code>New</code> [Windows] An application icon for Windows Forms</li> <li><code>Fix</code> [Windows] Removed unnecessary pywin32 dependencies from Windows Forms #60</li> <li><code>Fix</code> [Linux] Thread violation in load_url in GTK implementation #59</li></ul> <h2 id="_1-2-2"><a href="#_1-2-2" class="header-anchor">#</a> 1.2.2</h2> <p>Released 10/10/2016</p> <ul><li><code>Fix</code> [All] Python 2 compatibility issue in Flask Example (#52). Thanks to @bastula.</li> <li><code>Fix</code> [Windows] Python 3 compatibility issue in Windows Forms implementation (#51)</li> <li><code>Fix</code> [Linux] Resizing width/height: 100% problem on GTK (#53). Thanks to @klausweiss.</li></ul> <h2 id="_1-2-1"><a href="#_1-2-1" class="header-anchor">#</a> 1.2.1</h2> <p>Released 29/09/2016</p> <ul><li><code>Fix</code> [Linux] GTK window failing to open. Thanks to @lchish. #50</li></ul> <h2 id="_1-2"><a href="#_1-2" class="header-anchor">#</a> 1.2</h2> <p>Released 27/09/2016</p> <ul><li><code>New</code> [All] Introduced <code>load_html</code> function that allows dynamic loading of HTML code, instead of a URL. Implemented for all platforms except Win32 (use Windows Forms). Thanks to @ysobolev #39</li> <li><code>New</code> [All] Added an example of a Flask-based application skeleton. The example can be found in <code>examples/flask_app</code></li> <li><code>New</code> [Windows] Windows Forms based implementation of webview window. Requires pythonnet.</li> <li><code>New</code> [Windows] Introduced 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)</li> <li><code>Fix</code> [Windows/Linux] Got 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 user</li> <li><code>Fix</code> [Linux] Compatibility with Qt 5.5. Thanks to @danidee10. #48</li></ul> <h2 id="_1-1"><a href="#_1-1" class="header-anchor">#</a> 1.1</h2> <p>Released 08/06/2016</p> <ul><li><code>New</code> [OSX] Add a default application menu #35. Thanks @cuibonobo</li> <li><code>New</code> [Linux] GTK is made as default and pypi dependency added. USE_GTK environment variable is also deprecated. To use QT, set <code>webview.config["USE_QT"] = True</code></li> <li><code>Fix</code> [Windows] Open folder of create_file_dialog now returns Unicode, instead of byte encoding.</li></ul> <h2 id="_1-0-2"><a href="#_1-0-2" class="header-anchor">#</a> 1.0.2</h2> <p>Released 19/05/2016</p> <ul><li><code>Fix</code> [Windows] Fix a dead-lock that sometimes occurs on a window creation, when used with a HTTP server running in a separate thread.</li></ul> <h2 id="_1-0-1"><a href="#_1-0-1" class="header-anchor">#</a> 1.0.1</h2> <p>Released 17/05/2016</p> <ul><li><code>Fix</code> [Windows] PyInstaller: Icon not found #29</li></ul> <h2 id="_1-0"><a href="#_1-0" class="header-anchor">#</a> 1.0</h2> <p>Released 12/02/2016</p> <ul><li><code>New</code> [All] Add an ability to programmatically destroy a webview window</li> <li><code>Fix</code> [Windows] Fullscreen mode</li> <li><code>Fix</code> [Windows] Change setup.py to use pypiwin32 #22</li> <li><code>Fix</code> [Windows] Relative import of win32_gen fixed on Python 3 #20. Thanks to @yoavram for the contribution</li> <li><code>Fix</code> [Windows] FileNotFound exception on Windows 2003. Thanks to @jicho for the contribution</li> <li><code>Fix</code> [OSX] Non-SSL URLs are allowed by default on El Capitan. Thanks to @cr0hn for the contribution</li></ul> <h2 id="_0-9"><a href="#_0-9" class="header-anchor">#</a> 0.9</h2> <p>Released 27/11/2015</p> <ul><li><code>New</code> [All] Right click context menu is disabled #12</li> <li><code>New</code> [All] Window minimum size constraints #13</li> <li><code>New</code> [All] Save file dialog</li> <li><code>New</code> [All] Added <code>directory</code> and <code>save_filename</code> parameters to <code>create_file_dialog</code></li> <li><code>New</code> [All] An option to set a default directory in a file dialog</li> <li><code>New</code> [GTK] Introduced USE_GTK environment variable. When set, GTK is preferred over QT.</li> <li><code>Fix</code> [Windows] Webview scrollbar sizing with a non-resizable window</li> <li><code>Fix</code> [Windows] Add support for application icon #9</li> <li><code>Fix</code> [Windows] Disable logging spam for comtypes</li></ul> <h2 id="_0-8-4"><a href="#_0-8-4" class="header-anchor">#</a> 0.8.4</h2> <ul><li><code>Fix</code> [Windows] Invisible scrollbars</li> <li><code>Fix</code> [Windows] Fullscreen mode</li></ul> <h2 id="_0-8-3"><a href="#_0-8-3" class="header-anchor">#</a> 0.8.3</h2> <ul><li><code>Fixed</code> #10 Underlying browser does not resize with window under windows</li></ul> <h2 id="_0-8-2"><a href="#_0-8-2" class="header-anchor">#</a> 0.8.2</h2> <p>Released on 08/10/2015</p> <ul><li><code>Fixed</code> Pressing close window button terminates the whole program on OSX</li></ul> <h2 id="_0-8"><a href="#_0-8" class="header-anchor">#</a> 0.8</h2> <p>Released on 06/10/2015</p> <ul><li><code>New</code> Support for native open file / open folder dialogs</li> <li><code>Fixed</code> #6 FEATURE_BROWSER_EMULATION not in winreg.HKEY_CURRENT_USER. Thanks to @frip for the fix.</li></ul> <h2 id="_0-7"><a href="#_0-7" class="header-anchor">#</a> 0.7</h2> <p>Released on 08/04/2015</p> <ul><li><code>Fixed</code> Python 3 compatibility in Win32 module (thanks @Firnagzen) #3</li> <li><code>Fixed</code> Floating values for window dimensions causing issues on Windows XP (thanks @Firnagzen) #4</li> <li><code>Fixed</code> Correct IE version registry key on Windows XP (thanks @Firnagzen) #5</li></ul> <h2 id="_0-6"><a href="#_0-6" class="header-anchor">#</a> 0.6</h2> <p>Released on 11/02/2015</p> <ul><li><code>Fixed</code> A problem preventing from creating a window on Windows</li></ul> <h2 id="_0-5"><a href="#_0-5" class="header-anchor">#</a> 0.5</h2> <p>Released on 30/11/2014</p> <ul><li><code>New</code> Windows support</li> <li><code>New</code> GTK3 support</li> <li><code>New</code> pip installation</li> <li><code>New</code> Fullscreen mode</li></ul> <h2 id="_0-1"><a href="#_0-1" class="header-anchor">#</a> 0.1</h2> <p>Released on 20/11/2014</p> <ul><li>First release</li> <li>Linux and OSX support</li></ul></div> <footer class="page-edit"><div class="edit-link"><a href="https://github.com/r0x0r/pywebview/edit/docs/docs/CHANGELOG.md" target="_blank" rel="noopener noreferrer">Help us improve this page!</a> <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></div> <!----></footer> <!----> </main></div><div class="global-ui"></div></div>
<script src="/3.7/assets/js/app.10a559eb.js" defer></script><script src="/3.7/assets/js/2.0ff7ef1d.js" defer></script><script src="/3.7/assets/js/8.66fb3acb.js" defer></script>
</body>
</html>
|