2024
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
- v6.0.1
- v6.0
- v5.4.3
- v5.4.2
- v5.4.1
- v5.4
- v5.3
- v5.2.1
- v5.2
- v5.1
- v5.0
- v4.9.5
- v4.9.4
- v4.9.3
- v4.9.2
- v4.9.1
- v4.9
2014
2013
2012
2011
2010
2009
2008
2007
发布日期 2024年03月29日
JxBrowser 8.0.0 EAP
本页面按逆时间顺序列出了 JxBrowser 8.0.0 EAP(早期访问计划)版本的完整发布历史。
若要将最新的 8.0.0 EAP 构建依赖项添加到您的项目中,请将以下内容添加到您的项目配置中:
plugins {
id("com.teamdev.jxbrowser") version "1.0.2"
}
jxbrowser {
// 最新的 JxBrowser EAP 版本。
version = "8.0.0-eap.2"
// 将包含 JxBrowser EAP 构建的仓库添加到项目中。
includePreviewBuilds()
}
dependencies {
// 添加与 Compose UI 工具包集成的依赖项。
implementation(jxbrowser.compose)
// 添加与 SWT UI 工具包集成的依赖项。
implementation(jxbrowser.swt)
// 添加与 Swing UI 工具包集成的依赖项。
implementation(jxbrowser.swing)
// 添加与 JavaFX UI 工具包集成的依赖项。
implementation(jxbrowser.javafx)
// 检测当前平台并添加相应的 Chromium 二进制文件。
implementation(jxbrowser.currentPlatform)
}
<repositories>
<!-- 将包含 JxBrowser 预览构建的存储库添加到项目中。-->
<repository>
<id>teamdev-preview</id>
<url>https://europe-maven.pkg.dev/jxbrowser/eaps</url>
</repository>
</repositories>
<dependencies>
<!-- 添加对包含 Chromium 二进制文件的构件的依赖项。-->
<dependency>
<groupId>com.teamdev.jxbrowser</groupId>
<artifactId>jxbrowser-cross-platform</artifactId>
<version>8.0.0-eap.2</version>
<type>pom</type>
</dependency>
<!-- 添加与 Swing UI 工具包集成的依赖项。-->
<dependency>
<groupId>com.teamdev.jxbrowser</groupId>
<artifactId>jxbrowser-swing</artifactId>
<version>8.0.0-eap.2</version>
<!--
其他可用的选项有:
- jxbrowser-compose
- jxbrowser-javafx
- jxbrowser-swt
-->
</dependency>
</dependencies>
欲了解更多关于此主要版本计划的增强功能,请访问 JxBrowser 发展规划。
v8.0.0-eap.2
Kotlin DSL
Kotlin API 已经扩展了用于组装 Engine
实例的功能,以允许配置 Java EngineOptions.Builder
可用的所有选项。以下代码演示了如何使用 Kotlin DSL 创建具有指定选项的 Engine
实例:
val engine = Engine(RenderingMode.HARDWARE_ACCELERATED) {
options {
passwordStore = PasswordStore.BASIC
proprietaryFeatures = setOf(ProprietaryFeature.H_264)
switches = listOf("--chromium-switch1", "--chromium-switch2")
}
}
现在,BrowserSettings
的 Kotlin API 提供了用于声明式配置的变量属性。它允许您以更简洁、更易读的方式配置浏览器设置。以下代码演示了如何使用 Kotlin DSL 配置浏览器设置:
browser.settings.apply {
javascriptEnabled = false
defaultFontSize = FontSizeInPixels.of(12)
webRtcIpHandlingPolicy = DISABLE_NON_PROXIED_UDP
}
Compose Desktop
我们改进了与 Compose Desktop UI 工具包的集成。JxBrowser 现在默认支持输入法编辑器(IME)并显示弹出窗口。
Chromium 123.0.6312.124
我们已将 Chromium 升级至最新版本,该版本引入了多项安全修复,可防止远程攻击者在攻破 GPU 进程后通过特定的 UI 手势潜在地执行沙箱逃逸,以及通过精心制作的 HTML 页面潜在地利用堆损坏漏洞。这些安全修复包括:
- CVE-2024-3157: Out of bounds write in Compositing
- CVE-2024-3516: Heap buffer overflow in ANGLE
- CVE-2024-3515: Use after free in Dawn
- CVE-2024-3159: Out of bounds memory access in V8
如需查看 Chromium 123.0.6312.124
版本中的完整修复和改进列表,请访问以下版本的产品博客文章:
v8.0.0-eap.1
这是 JxBrowser 下一个主要版本的第一个 EAP 构建。在此构建中,我们引入了以下新功能:
Java 17
Java 17 是 JxBrowser 8.0.0 所需的最低 JVM 版本。
Kotlin DSL
现在,得益于 Kotlin DSL,您在使用 JxBrowser API 时可以编写更简洁易读的 Kotlin 代码。
要将 Kotlin DSL 添加到您的项目中,请将以下内容添加到您的项目配置中:
dependencies {
// 添加用于与 JxBrowser API 协同工作的 Kotlin DSL 依赖项。
implementation(jxbrowser.kotlin)
}
<!-- 添加与 JxBrowser API 协同工作的 Kotlin DSL 的依赖项。-->
<dependency>
<groupId>com.teamdev.jxbrowser</groupId>
<artifactId>jxbrowser-kotlin</artifactId>
<version>[8.0.0-eap,]</version>
</dependency>
以下是一个示例,展示如何使用 Kotlin DSL 来创建和配置 Engine
实例:
val engine = Engine(RenderingMode.HARDWARE_ACCELERATED) {
options {
license = JxBrowserLicense("your_license_key")
language = Language.GERMAN
remoteDebuggingPort = 9222
schemes {
add(Scheme.JAR, InterceptJarRequestCallback())
}
}
}
val browser = engine.newBrowser()
Compose Desktop
我们新增了对另一个 Java UI 工具包的支持 — Compose Desktop。现在,您可以将 JxBrowser 的 BrowserView
嵌入到 Compose Desktop 应用程序中,并使用现代 UI 工具包构建跨平台的现代桌面应用程序。
要将 JxBrowser Compose Desktop 依赖项添加到您的项目中,请将以下内容添加到您的项目配置中:
dependencies {
// 添加与 Compose UI 工具包集成的依赖项。
implementation(jxbrowser.compose)
}
<!-- 添加与 Compose UI 工具包集成的依赖项。-->
<dependency>
<groupId>com.teamdev.jxbrowser</groupId>
<artifactId>jxbrowser-compose</artifactId>
<version>[8.0.0-eap,]</version>
</dependency>
下面是一个示例,展示了如何将 JxBrowser 的 @composable
BrowserView
组件嵌入到 Compose Desktop 应用程序中:
fun main() = singleWindowApplication {
val engine = remember { createEngine() }
val browser = remember { engine.newBrowser() }
BrowserView(browser)
DisposableEffect(Unit) {
browser.navigation.loadUrl("google.com")
onDispose {
engine.close()
}
}
}
private fun createEngine() = Engine(RenderingMode.HARDWARE_ACCELERATED) {
options {
license = JxBrowserLicense("your_license_key")
}
}
关注 @JxBrowserTeam ,获取库的更新动态。
订阅我们的 RSS feed ,获取最新版本动态。