Tauri 团队很高兴宣布 1.2.0 版本发布。它包含一个安全修复,因此我们鼓励新老用户更新到已修复的版本之一。其他更改已通过内部审核,未发现任何安全问题。
确保将 NPM 和 Cargo 依赖项都更新到 1.2.0 版本。你可以使用以下命令更新 NPM 依赖项
- npm
- Yarn Classic
- Yarn Berry
- pnpm
npm install @tauri-apps/cli@latest @tauri-apps/api@latest
yarn upgrade @tauri-apps/cli @tauri-apps/api --latest
yarn up @tauri-apps/cli @tauri-apps/api
pnpm update @tauri-apps/cli @tauri-apps/api --latest
若要更新 Cargo 依赖项,请在 src-tauri
文件夹中运行以下命令
cargo update
1.2.0 中的新增内容
安全补丁
此版本包含针对 MessyComposer 报告的安全漏洞的补丁。由于通过文件对话框和拖放功能选择的路径中的特殊字符转义不正确,因此可以部分绕过 fs
范围定义。无法遍历到任意路径,因为该问题仅限于已允许路径的相邻文件和子文件夹。要成功绕过,用户需要在文件选择器对话框中选择一个预先存在的恶意文件或目录,并且需要由攻击者控制的逻辑才能访问这些文件。这意味着该问题本身无法被滥用,并且需要进一步的故意或无意的权限。该补丁还可在 1.0.7 和 1.1.2 中获得。有关更多详细信息,请参阅 公告。
Rust 版本更新
此版本包含受支持的最低 Rust 版本升级。现在,Tauri 至少需要 Rust 1.59 才能编译。由于需要进行此更改的几个依赖项更新,因此有必要进行此更改。
Linux 上的自定义协议头
Linux webview 绑定已更新,现在支持在运行 webkit2gtk 版本 2.36 或更高版本时使用自定义协议头。这修复了在手动获取构建资产时生产中的 CORS 问题。
增强 macOS 上的标题栏配置
我们最终合并了最受期待的几个请求之一,引入了标题栏样式配置。您的应用程序现在可以定义透明或叠加标题栏、隐藏窗口标题文本并定义窗口以接受第一个鼠标事件,以便在收到单击事件后可以立即对其进行聚焦以进行拖动。
具有叠加标题栏样式的窗口
具有透明标题栏样式的窗口(使用窗口背景色)
其他更改
此版本中有许多较小的更改和错误修复。您可以在以下部分中看到发行说明的摘要。完整的变更日志可以在 版本页面 上找到。
新增
- 允许在创建窗口时配置用户代理 (#5317)
- 重新实现创建未聚焦窗口的选项 (#5338)
- 添加了 acceptFirstMouse 窗口选项 (macOS) (#5374)
- 添加了 tabbingIdentifier 窗口选项 (macOS) (#5399)
- 增强了特定于应用程序的目录 API (#5272)
- 在 app 模块上添加了 show 和 hide 方法 (macOS) (#3689)
- 为 macOS 托盘公开 set_title (#5182)
- 前端静态文件的热重载支持 (#5256)
- 为捆绑包发布者添加一个配置选项 (#5283)
增强
修复
- 修复自定义协议中的 HTML 模板标签 (#5247)
- 在 macOS 上读取资源文件时修复范围检查 (#5218)
- 修复 fs/exists 上的错误返回类型 (#5252)
- 使用正确的类而不是普通对象初始化 Monitor 实例,用于位置和大小字段 (#5313)
- 修复 dialog.save 返回类型 (#5373)
- 使用正确的代码 ja-JP 表示日语,而不是 jp-JP (#5346)
- 清除 WiX light.exe 和 candle.exe 命令上的环境变量,以避免出现“无法访问 Windows Installer 服务”错误。以 TAURI 为前缀的变量会传播。(#4819)
- 修复 SystemTray::with_menu_on_left_click 中的回归 (#5235)
- 修复 [email protected] 中引入的回归,该回归阻止在 Windows 上退出应用程序时移除托盘图标 (#5245)
- 修复在 tauri://window-created 事件侦听器中访问 WebviewWindow.getByLabel 函数 (#5458)
- 修复在 on_menu_event 闭包中修改菜单时出现的死锁。(#5257)
- 修复
__TAURI_PATTERN__
对象冻结 (#5307)