Fuzio 2026.2.0
Fuzio 2026.2.0 introduces per-browser rendering modes and Chromium 148. Native input, which was previously an opt-in experimental feature, is now enabled by default.
This version introduce some breaking changes.
Chromium 148.0.7778.97
We upgraded Chromium to a newer version, which introduces major security fixes, including:
- 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
You can read more about it in the Chromium blog post.
Rendering mode per browser
Previously, the rendering mode was fixed for the entire Engine. All
browsers created from that engine shared the same mode, which made it
impossible to share a profile between an off-screen and a
hardware-accelerated browser.
In Fuzio 2026.2.0, you can specify the rendering mode for each
Browser instance individually:
import static tech.fuzio.engine.RenderingMode.OFF_SCREEN;
var browser = engine.newBrowser(OFF_SCREEN);
Browsers created with Engine.newBrowser() or Profile.newBrowser()
without arguments still use the engine’s default rendering mode. Popup
browsers inherit the rendering mode of their parent browser.
Learn more in the Rendering guide.
Native input by default
In this version, native input is enabled by default. That is the mode
of handling input that was introduced as an experimental feature in Fuzio 2026.0.0 and
is now promoted to the default behavior. It is used in the OFF_SCREEN
rendering mode, and the HARDWARE_ACCELERATED mode on macOS.
In the previous approach, Fuzio read keyboard and mouse events from a Java UI toolkit and forwarded them to Chromium. In the native input mode, Fuzio receives input events directly from the operating system.
To use the older approach, set the following VM parameter:
-Dfuzio.native.input.enabled=false
New permission types
The PermissionType enum has been extended with 19 new values to keep
it in sync with Chromium, including PAYMENT_HANDLER,
IDLE_DETECTION, DISPLAY_CAPTURE, SPEAKER_SELECTION,
KEYBOARD_LOCK, POINTER_LOCK, AUTOMATIC_FULLSCREEN,
LOCAL_NETWORK, LOOPBACK_NETWORK, GEOLOCATION_APPROXIMATE,
and others.
Quality enhancements
- Fixed an issue where native input dispatched mouse events even when
BrowserViewwas disabled. - Fixed incorrect
BrowserViewpositioning when aMenuBaris present in Compose Desktop, in theHARDWARE_ACCELERATEDmode on Windows. - Fixed a crash that occurred on macOS 26.4.1 when creating an
Engine. - Fixed a crash that occurred on macOS when triggering the screen capture dialog.
- Fixed an issue where dragging content from Chromium to a Compose Desktop component produced stale or missing drag data on the first drag attempt.
- Fixed
BrowserViewnot regaining keyboard focus when switching between SWT widgets on Linux. - Fixed a
NullPointerExceptionwhen closing theEnginewhile aBrowseris being created in another thread.

