Repository navigation
v0.6.0rc7
Pre-release
Pre-release
What's New in v0.6.0rc7
This is likely the last release candidate before v0.6.0 stable.
✨ New Features
- 🧩 Enums —
PageLoadEvent,NewWindowResponse,DragDropEventare now proper PythonEnumtypes (re-exported from wryview). No more magic strings in callbacks. - 🔒
https_scheme(Windows, defaultTrue) — custom protocol pages are now secure contexts by default. Service Workers, Geolocation, Web Crypto all work out of the box. - 📥 Download handlers —
download_started_handler(url, suggested_path) → bool|stranddownload_completed_handler(url, saved_path, success: bool). - 🖱️
context_menus— enable/disable native right-click context menu (Windows). - 🌐
proxy—{"type": "http"|"socks5", "host": "...", "port": "..."}. - 📜
initialization_script— three states: default (injects JS bridge + fullscreen),None(skip all injected scripts),str(custom script). Use with caution — setting toNoneor custom breaks the JS bridge and fullscreen handling. - 🔧
wsgi_port— specify a fixed TCP port forwsgi_scheme="localhost"mode. - 🔍
is_devtools_open()— check if DevTools is currently open. back_forward_gesturesgesture navigation (cross-platform, not macOS only).
⚠️ Breaking Changes
- Callback return types now use enums:
new_window_handler→NewWindowResponse(wasstr)page_loadedsignal →(PageLoadEvent, url)(was(str, str))drag_drop_handler→(DragDropEvent, paths, position)(was(str, ...))
initialization_donesignal no longer carries(success, error_msg)— just().domContentLoadedsignal removed — usepage_loaded(eventPageLoadEvent.Finished) instead.user_data_folderdefault changed to sentinel-based tri-state: omit = auto-generate,None= skip,str= custom path.incognitoanduser_data_folderare now independent —incognitono longer overrides the data directory.
🐛 Fixes
- JS Bridge: error responses no longer misrouted to the wrong pending Promise.
- JS Bridge:
window.qtwebview.api.call("funcName", ...)meta-call now handled in JS, no Python round-trip. web_message_receivedsignal no longer emitted twice for non-JSON IPC messages.- GDI resource leak:
_AnchorWindownow cleans up DIB section, DC, and bitmap on close. - Hide & show: DWM layered surface restored via
WM_SHOWWINDOW(more robust thanshowEvent). closeEventorder documented — child HWND dropped before parent anchor.
📦 Dependencies
- wryview bumped to
~=0.4.0.
🪶 v0.6.0rc7 更新内容
这很可能是 v0.6.0 正式版前的最后一个候选版本。
✨ 新特性
- 🧩 枚举类型 —
PageLoadEvent、NewWindowResponse、DragDropEvent替代了所有魔术字符串(从 wryview 转发)。 - 🔒
https_scheme(Windows,默认True)— 自定义协议页面默认已是安全上下文,Service Worker 等开箱即用。 - 📥 下载回调 —
download_started_handler/download_completed_handler。 - 🖱️
context_menus— 原生右键菜单开关(Windows)。 - 🌐
proxy— 代理配置{"type": "http"|"socks5", "host": "...", "port": "..."}。 - 📜
initialization_script— 三态:默认注入桥接+全屏 /None跳过 / 字符串自定义。设None或自定义会破坏 JS 桥接和全屏,需手动重实现。 - 🔧
wsgi_port— localhost 模式下指定固定端口。 - 🔍
is_devtools_open()— 查询 DevTools 是否打开。 back_forward_gestures手势导航(跨平台,不仅 macOS)。
⚠️ 破坏性变更
- 回调改用枚举:
new_window_handler→NewWindowResponsepage_loaded信号 →(PageLoadEvent, url)drag_drop_handler→(DragDropEvent, paths, position)
initialization_done信号不再携带(success, error_msg)。domContentLoaded信号已移除,用page_loaded(PageLoadEvent.Finished)替代。user_data_folder改为三态(不传=自动生成 /None=跳过 / 字符串=自定义路径)。incognito与user_data_folder解耦——incognito不再覆盖数据目录。
🐛 修复
- JS Bridge:错误响应不再路由到错误的 Promise。
- JS Bridge:
api.call("funcName")元调用改为 JS 侧处理。 web_message_received信号不再重复发射。- _AnchorWindow GDI 泄漏:关闭时正确释放 DIB、DC 和位图。
- 隐藏/恢复:改用
WM_SHOWWINDOW恢复 DWM 分层表面。 closeEvent顺序注释。
📦 依赖
- wryview 升级至
~=0.4.0。