Tauri 1.2.0 已在上周正式发布。
Tauri 是一个桌面 UI 框架,可让开发者使用每个平台的 Webview 技术栈为所有主要桌面操作系统构建应用程序,目前支持 Windows/macOS/Linux 等平台。开发者通过 Tauri 几乎可以使用任何编译为 HTML、JS 和 CSS 的前端框架来构建桌面 UI。
Tauri 核心库采用 Rust 编写,使用 Tauri 开发的应用程序的后端是一个基于 Rust 的二进制文件,带有一个前端可以与之交互的 API,通过 JS Api 调用后台接口。
1.2 版本的更新内容包括升级所需的最低 Rust 版本、修复安全问题,以及分别针对 Linux 和 macOS 的优化。
- 安全补丁
此版本引入了针对 MessyComposer 报告的安全漏洞的补丁,受影响版本:
漏洞简要描述:通过文件对话框和拖放功能选择的路径中的特殊字符无法正确转义,因此可以部分绕过fs
范围定义 (Filesystem Scope)。此问题仅存在于邻近的文件和已允许路径的子文件夹。如需成功利用此漏洞,用户要在文件选择器对话框中选择一个预先存在的恶意文件或目录,并通过攻击者控制的逻辑来访问这些文件。这意味着问题本身不能被滥用,并且需要进一步特权。
点此查看关于安全漏洞的更多细节。
- Rust 版本更新
Tauri 现在最低要求 Rust 1.59 才能完成编译,主要是因为有多个依赖的更新需要使用高于 Rust 1.59 的版本。
- 支持在 Linux 上自定义 protocol header
Linux 的 webview 绑定已经更新,当运行在 webkit2gtk 2.36 或更高版本时,现已支持自定义 protocol header。这修复了在生产环境中手动获取构建资源时出现的 CORS 问题。
- 增强 macOS 上的标题栏配置功能
此版本合并了一个备受期待的 PR:在 macOS 中为标题栏引入样式配置。应用程序现在可以定义一个透明或覆盖的标题栏,隐藏窗口标题文本,并定义窗口以接受第一个鼠标事件,这样就可以在收到点击事件后立即获取到焦点,以方便被拖拽。
具有叠加标题栏样式的窗口:
具有透明标题栏样式的窗口(使用窗口背景色):
详情查看发布公告。