2024
- v7.41.6
- v8.2.1
- v7.41.5
- v8.2.0
- v7.41.4
- v8.1.0
- v8.0.0
- v7.41.3
- v7.41.2
- v7.41.1
- v7.41.0
- v7.40.0
- v7.39.2
- v7.39.1
- v7.39.0
- v7.38.2
- v7.38.1
- v7.38.0
- v7.37.2
- v7.37.1
2023
- v7.37.0
- v7.36.3
- v7.36.2
- v7.36.1
- v7.36
- v7.35.2
- v7.35.1
- v7.35
- v7.34.1
- v7.34
- v7.33.2
- v7.33.1
- v7.33
- v7.32
- v7.31.1
- v7.31
- v7.30.3
- v7.30.2
- v7.30
2022
2021
2020
2019
2018
2017
2016
2015
2014
2013
2012
2011
2010
2009
2008
2007
Posted on December 23, 2022
JxBrowser 7.29
In this release, we upgrade Chromium to 108, introduce new API and improve configurability.
Chromium 108
We upgraded Chromium to 108.0.5359.125.
Among other fixes, this update contains 8 important security fixes.
Presentation API
We added support for JavaScript Presentation API.
When a JavaScript application starts the presentation, JxBrowser gives you a callback where you can select the receiving device or cancel the presentation:
browser.set(StartPresentationCallback.class, (params, tell) -> {
MediaReceiver receiver = params.mediaReceivers().await(it -> {
return it.supports(CastMode.PRESENTATION);
});
tell.start(receiver);
});
Casting API
It’s now possible to cast media content directly from JxBrowser to devices supported by Chromium. Here’s how easy it is:
MediaReceiver receiver = mediaReceivers.await(it -> {
return it.supports(CastMode.SCREEN);
});
CompletableFuture<CastSession> future = browser.castScreen(receiver);
Check out the complete guide to this functionality.
Better LoadUrlParams
We introduced a high-level API for setting POST data when loading URLs. Instead of manually composing the POST data
string, use one of the UploadData
ancestors instead. For example:
MultipartFormData data =
MultipartFormData.newBuilder()
.addPair(Pair.of("name", "Janis Joplin"))
.addPair(Pair.of("age", "27"))
.build();
LoadUrlParams params =
LoadUrlParams.newBuilder(url)
.uploadData(data)
.build();
browser.navigation().loadUrl(params);
New Engine options
We introduced two new engine options: rendererHangTimeout()
and disableDnsQuickCheck()
.
The rendererHangTimeout()
configures how long the renderer can be unresponsive before it is considered hung.
The disableDnsQuickCheck()
turns off WPAD optimization, causing Chromium to wait longer for DNS-based WPAD servers.
Network prediction
We added a possibility to manage the network prediction in Chromium:
ProfilePreferences preferences = profile.preferences();
preferences.enableNetworkPrediction();
preferences.disableNetworkPrediction();
preferences.isNetworkPredictionEnabled();
Quality enhancements
- Fixed a deadlock when closing the engine before the system print dialog appeared.
- Made the JS-accessible members visible in the injected Java objects.
- Fixed a detached window after the drag-and-drop on Linux.
- Fixed point inspection not considering the scale factor.
- Fixed point inspection returning shadow DOM elements.
- Fixed
IllegalStateException
thrown when disabling drag-and-drop. - Fixed incorrect focus traversal in Swing.
- Fixed crash when loading PDF sequentially.
- Fixed broken caching when
VerifyCertificateCallback
is used. - Fixed missing microphone permissions in Microsoft Teams meetings.
- Disabled navigation that appeared when pressing the Back/Forward mouse buttons.
- Fixed silent crashes in the GPU processes.
Download JxBrowser 7.29
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 @JxBrowserTeam 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.