Releases
Posted on
JxBrowser 9.0.0
JxBrowser 9.0.0 introduces per-browser rendering modes, GraalVM native image support, and Chromium 147. Native input, which was previously an opt-in experimental feature, is now enabled by default.
This version does not introduce breaking changes.
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 JxBrowser 9.0.0, you can specify the rendering mode for each
Browser instance individually:
import static com.teamdev.jxbrowser.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.
GraalVM native image
JxBrowser now supports building GraalVM native images. A new artifact,
jxbrowser-native-image, bundles the GraalVM reachability metadata
required for JxBrowser. It covers reflection and JNI configuration
across the library. Add it to your project when you need native image
support:
dependencies {
implementation(jxbrowser.nativeImage)
}
Learn more in the Native image 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 JxBrowser 7.39.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, JxBrowser read keyboard and mouse events from a Java UI toolkit and forwarded them to Chromium. In the native input mode, JxBrowser receives input events directly from the operating system.
To use the older approach, set the following VM parameter:
-Djxbrowser.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.
Chromium 147.0.7727.117
We upgraded Chromium to a newer version, which introduces 50 security fixes. Among them:
- CVE-2026-6296: Heap buffer overflow in ANGLE
- CVE-2026-6297: Use after free in Proxy
- CVE-2026-6298: Heap buffer overflow in Skia
- CVE-2026-6299: Use after free in Prerender
- CVE-2026-6358: Use after free in XR
You can read more about it in the Chromium blog posts:
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.
Download JxBrowser 9.0.0
Please share your email with us, and we'll send you download instructions.
We were unable to send the email. Please use the direct link to download JxBrowser.
If you are a registered customer you don't need to do anything to use this update.
If you would like to evaluate the product, you need an evaluation license.
Follow @JxBrowser to get notified of the library updates.
Subscribe to our RSS feed to get instant updates on new releases.
Subscribe to get notifications about the latest releases.