Fuzio 2026.2.0
Fuzio 2026.2.0 引入了按浏览器设置渲染模式的功能,并升级至 Chromium 148。此前作为可选实验性功能的原生输入现已默认启用。
该版本包含一些破坏性变更。
Chromium 148.0.7778.97
我们已将 Chromium 升级至较新版本,其中包含多项重要的安全修复,包括:
- CVE-2026-7896: Integer overflow in Blink
- CVE-2026-7897: Use after free in Mobile
- CVE-2026-7898: Use after free in Chromoting
- CVE-2026-7899: Out of bounds read and write in V8
- CVE-2026-7900: Heap buffer overflow in ANGLE
你可以在 Chromium 的博客文章中了解更多信息。
按浏览器设置渲染模式
此前,渲染模式是针对整个 Engine 固定设置的。从该 Engine 创建的所有浏览器都共享相同的模式,这使得无法在离屏渲染和硬件加速渲染的浏览器之间共享同一个 Profile。
在 Fuzio 2026.2.0 中,你可以为每个 Browser 实例单独指定渲染模式:
import static tech.fuzio.engine.RenderingMode.OFF_SCREEN;
var browser = engine.newBrowser(OFF_SCREEN);
通过无参数的 Engine.newBrowser() 或 Profile.newBrowser() 创建的浏览器,仍会使用引擎的默认渲染模式。弹出窗口浏览器会继承其父浏览器的渲染模式。
更多信息请参阅渲染指南。
默认启用原生输入
在此版本中,原生输入已默认启用。该输入处理模式最初作为实验性功能在 Fuzio 2026.0.0 中引入,现已升级为默认行为。该功能适用于 OFF_SCREEN 渲染模式,以及 macOS 上的 HARDWARE_ACCELERATED 模式。
在此前的方式中,Fuzio 会从 Java UI 工具包读取键盘和鼠标事件,并将其转发给 Chromium。在原生输入模式下,Fuzio 会直接从操作系统接收输入事件。
要使用旧的输入方式,请设置以下 VM 参数:
-Dfuzio.native.input.enabled=false
新增权限类型
PermissionType 枚举新增了 19 个值,以保持与 Chromium 的同步,其中包括 PAYMENT_HANDLER、IDLE_DETECTION、DISPLAY_CAPTURE、SPEAKER_SELECTION、KEYBOARD_LOCK、POINTER_LOCK、AUTOMATIC_FULLSCREEN、LOCAL_NETWORK、LOOPBACK_NETWORK、GEOLOCATION_APPROXIMATE 等。
质量改进
- 修复了在
BrowserView被禁用时,原生输入仍会分发鼠标事件的问题。 - 修复了在 Windows 上的
HARDWARE_ACCELERATED模式下,Compose Desktop 存在MenuBar时BrowserView定位错误的问题。 - 修复了在 macOS 26.4.1 上创建
Engine时发生的崩溃问题。 - 修复了在 macOS 上触发屏幕捕获对话框时发生崩溃的问题。
- 修复了从 Chromium 拖拽内容到 Compose Desktop 组件时,首次拖拽会出现拖拽数据过期或缺失的问题。
- 修复了 Linux 上在 SWT 组件之间切换时,
BrowserView无法重新获得键盘焦点的问题。 - 修复了在另一个线程正在创建
Browser时关闭Engine导致的NullPointerException问题。

