Releases

Contents

Posted on

JxBrowser 8.16.0

Copy passwords between stores 

You can now copy password records between different profiles using PasswordStore.all() and PasswordStore.add().

// Copy passwords from one store to another
var sourcePasswords = sourceProfile.passwordStore();
var targetPasswords = targetProfile.passwordStore();
for (var password : sourcePasswords.all()) {
    targetPasswords.add(password);
}

Breaking changes 

Context menu API changes 

The ShowContextMenuCallback.Params.contentType() method was renamed to contentTypes(), and ContextMenuContentType enum values no longer have the CONTEXT_MENU_CONTENT_TYPE_ prefix.

Previous versions:

import com.teamdev.jxbrowser.menu.internal.rpc.ContextMenuContentType;

browser.set(ShowContextMenuCallback.class, (params, tell) -> {
    var contentType = params.contentType();
    if (contentType.contains(ContextMenuContentType.CONTEXT_MENU_CONTENT_TYPE_EDITABLE)) {
        // Handle editable content
    }
    tell.close();
});

8.16.0:

import com.teamdev.jxbrowser.menu.ContextMenuContentType;

browser.set(ShowContextMenuCallback.class, (params, tell) -> {
    var contentTypes = params.contentTypes();
    if (contentTypes.contains(ContextMenuContentType.EDITABLE)) {
        // Handle editable content
    }
    tell.close();
});

Learn more in the migration guide.

Validation methods throw exceptions 

Methods for adding passwords, credit cards, and user data profiles now throw exceptions for validation errors instead of returning error strings.

Previous versions:

String result = passwordStore.add(invalidPasswordRecord);
if (!result.isEmpty()) {
    System.err.println("Failed to add password: " + result);
}

8.16.0:

try {
    passwordStore.add(invalidPasswordRecord);
} catch (IllegalArgumentException e) {
    System.err.println("Failed to add password: " + e.getMessage());
}

This applies to:

  • PasswordStore.add(PasswordRecord) — throws IllegalArgumentException when the password record has an invalid URL or an empty password.
  • CreditCards.add(CreditCard) — throws IllegalArgumentException when the credit card has already expired.
  • UserDataProfiles.add(UserDataProfile) — throws IllegalArgumentException on validation errors.

Learn more in the migration guide.

Enum technical values removed 

We removed *_UNRECOGNIZED and *_UNSPECIFIED values from all enum types. These were technical values for internal use. For a limited number of enums, we added UNKNOWN values where the removed values represented a logical enum value.

Learn more in the migration guide.

NetError enum values removed 

The upgrade to Chromium 144 removed certain NetError enum values that no longer exist in the upstream Chromium codebase. If your code references these removed values, you will see compilation errors.

Learn more in the migration guide.

Chromium 144.0.7559.60 

We upgraded Chromium to a newer version, which introduces major security fixes, including:

You can read more about it in the Chromium blog post:

Download JxBrowser 8.16.0

Please share your email with us, and we'll send you download instructions.

Sending...
EmailBox Please check your inbox.

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.

Get free 30-day trial