We are excited to introduce you JxBrowser 7. This major version brings a lot of improvements and new features to the public API of the library.
The API has been extended with new classes, interfaces, methods, events and callbacks. We have also redesigned some of its parts to make it impossible to use the library in a wrong way.
The new version requires JDK 1.8 or higher. It allows us to bring the Java 8 features such as Optional, Lambda Expressions, Stream API, static methods in Interfaces, etc. to the public API and to the internal implementation.
The architecture of the library has been improved as well. Now you can run and control the life cycle of multiple Chromium instances in a single Java application. Each Chromium instance can be configured with its own user data directory, remote debugging port, language, etc. This change allows you to create and use two or more absolutely independent Browser instances simultaneously.
Please note, that starting from this version and further JxBrowser will be documented in the new Help Center.
The complete change record for v7.0 is available here.
Please see the Migration Guide for instructions on moving your project built with v6.x to the new version of the library.
The documentation for JxBrowser up to 6.x remains available in the current support portal.
Release date: May 30, 2019
Thank you for the information, It looks like a good version. I have seen you can use several engines instance with same browser instance, does it means you can have several ports where you can debug theses instances?
That's correct. With JxBrowser 7.0 you can create several Engine instances configured to use different remote debugging port and debug different Browser instances using different port. For example:
Engine engine1 = Engine.newInstance( EngineOptions.newBuilder(OFF_SCREEN) .remoteDebuggingPort(9222) .build()); Engine engine2 = Engine.newInstance( EngineOptions.newBuilder(OFF_SCREEN) .remoteDebuggingPort(9223) .build()); Browser browser1 = engine1.newBrowser(); Browser browser2 = engine2.newBrowser();