Posted on

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:

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 BrowserView was disabled.
  • Fixed incorrect BrowserView positioning when a MenuBar is present in Compose Desktop, in the HARDWARE_ACCELERATED mode 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 BrowserView not regaining keyboard focus when switching between SWT widgets on Linux.
  • Fixed a NullPointerException when closing the Engine while a Browser is being created in another thread.

Customer Support

QR code to follow us on WeChat

Technical Support

QR code to follow us on WeChat