_Released 18/01/2023_
💔 BREAKING CHANGES
- [All] Window events are moved into `window.events` namespace. `window.loaded`, `window.shown` etc no longer work.
- EdgeHTML support is removed.
⚡ Features
- [All] Local homegrown HTTP server is replaced with [bottle.py](https://bottlepy.org). Thanks robb-brown for WSGI support.
- [All] Native application menu support. See `examples/menu.py` for usage example. Thanks sardination
- [All] `webview.start(private_mode=True, storage_path=None)` Private mode and persistant storage support in a non-private mode. Private mode is enabled by default.
- [All] `webview.create_window(zoomable=False)` Enable / disable zooming on webpage. Disabled by default.
- [All] `webview.create_window(draggable=False)` Enable / disable dragging of IMG and A elements. Disabled by default.
- [All] `webview.create_confirmation_dialog(title, content)` creates a confirmation (Ok, Cancel) dialog. Thanks sardination.
- [All] `window.get_cookies()` retrieve all the cookies (including HttpOnly) for the current webpage.
- [macOS] `webview.create_window(vibancy=False)` Window vibrancy suppport. macOS only. Thanks CahierX.
🚀 Improvements
- [All] Local 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:// schema
- [Cocoa] Disable Ctrl+click context menu. Thanks ecpost.
- [EdgeChromium] Improve `evaluate_js` performance.
- [GTK] Enable media / audio / WebGL / clipboard related WebKit features
🐞 Bug fixes
- [Cocoa] Fix passing through keyboard events handled by pywebview. Thanks ecpost.
- [GTK] Fix JS bridge maximum return object size limitation. GTK's JS bridge is implemented via HTTP server.
- [GTK] Fix hanging problem during window closing when JS evaluation is in progress