diff --git a/content/cn/docs/contribution-guidelines/hugegraph-server-idea-setup.md b/content/cn/docs/contribution-guidelines/hugegraph-server-idea-setup.md
index 6a3daac70..5a532a016 100644
--- a/content/cn/docs/contribution-guidelines/hugegraph-server-idea-setup.md
+++ b/content/cn/docs/contribution-guidelines/hugegraph-server-idea-setup.md
@@ -15,7 +15,7 @@ weight: 4
1. 初始化数据库后端,执行 `InitStore` 类初始化图
2. 启动 HugeGraph-Server,执行 `HugeGraphServer` 类加载初始化的图信息启动
-在执行下述流程之前,请确保已经克隆了 HugeGraph 的源代码,并且已经配置了 Java 11 环境 & 可以参考这个 [配置文档](https://github.com/apache/hugegraph/wiki/The-style-config-for-HugeGraph-in-IDEA)
+在执行下述流程之前,请确保已经克隆了 HugeGraph 的源代码,并且已经配置了开发环境(HugeGraph 1.8.0+ 需 Java 17,1.7.0 需 Java 11)& 可以参考这个 [配置文档](https://github.com/apache/hugegraph/wiki/The-style-config-for-HugeGraph-in-IDEA)
```bash
git clone https://github.com/apache/hugegraph.git
diff --git a/content/cn/docs/contribution-guidelines/validate-release.md b/content/cn/docs/contribution-guidelines/validate-release.md
index 5d08460fb..f3d01adc8 100644
--- a/content/cn/docs/contribution-guidelines/validate-release.md
+++ b/content/cn/docs/contribution-guidelines/validate-release.md
@@ -5,7 +5,7 @@ weight: 3
---
> Note: 这篇文档会持续更新。
-> HugeGraph 1.8.0 的源码构建与发行包运行验证统一使用 Java 17。
+> HugeGraph 1.8.0 的源码构建与发行包运行验证统一使用 Java 17(Maven 源码构建仅接受 JDK 17);1.7.0 请使用 Java 11。从 1.5.0 版本开始 (除 client 外) 不再支持 Java 8。
>
> 毕业说明:Apache HugeGraph 已于 2026 年 1 月毕业。正式发版投票现由 HugeGraph 社区内部完成(`dev@hugegraph.apache.org` 上的 PMC binding 投票),不再需要 Incubator `general@incubator.apache.org` 审批。
@@ -44,7 +44,7 @@ Workflow 的 `source-prevalidation` 模式使用明确的 Server/Toolchain commi
#### 1. 准备工作
如果本地没有 svn 或 gpg 或 wget 环境,建议先安装一下 (windows 推荐使用 WSL2 环境,
-或者至少是 `git-bash`), 同时确保安装 Java 17 和 maven 软件。
+或者至少是 `git-bash`), 同时确保安装 Java 17(编译 1.7.0 请使用 Java 11)和 Maven 软件 (≥ 3.6.3)。
```bash
# 1. 安装svn
@@ -157,7 +157,7 @@ PMC 同学请特别注意认真检查 `LICENSE` + `NOTICE` 文件,确保文件
大部分的发版问题都与之相关
```bash
-# 请优先使用/切换到 `java 17` 版本进行后序的编译和运行操作 (注:`Computer` 仅支持 `java >= 11`)
+# 验证 HugeGraph 1.8.0+ 请优先使用/切换到 `java 17` 版本(1.7.0 请使用 `java 11`)进行后序的编译和运行操作 (注:`Computer` 仅支持 `java >= 11`)
# java --version
# 尝试在 Unix 环境下编译测试是否正常
diff --git a/content/cn/docs/guides/faq.md b/content/cn/docs/guides/faq.md
index eb43ed8c4..0d3bd8c8e 100644
--- a/content/cn/docs/guides/faq.md
+++ b/content/cn/docs/guides/faq.md
@@ -13,8 +13,8 @@ weight: 6
1.7.0 支持 RocksDB、HStore、HBase 和 Memory。Cassandra、ScyllaDB、MySQL、PostgreSQL 等旧后端需使用 1.5.x 或更早版本。
- 启动服务时提示:`xxx (core dumped) xxx`
-
- 请先确认 JDK 版本不低于 Java 11。HugeGraph 1.7.0 不再支持 Java 8。
+
+ 请先确认 JDK 版本符合对应版本要求:HugeGraph 1.8.0+ 要求 Java 17,1.7.0 要求 Java 11。HugeGraph 不再支持 Java 8。
- 启动服务成功了,但是操作图时有类似于"无法连接到后端或连接未打开"的提示
diff --git a/content/cn/docs/quickstart/hugegraph/hugegraph-hstore.md b/content/cn/docs/quickstart/hugegraph/hugegraph-hstore.md
index d4c326ccc..17a3dcb64 100644
--- a/content/cn/docs/quickstart/hugegraph/hugegraph-hstore.md
+++ b/content/cn/docs/quickstart/hugegraph/hugegraph-hstore.md
@@ -22,8 +22,8 @@ HugeGraph-Store 是 HugeGraph 分布式版本的存储节点组件,负责实
#### 2.1 前置条件
- 操作系统:Linux 或 macOS(Windows 尚未经过完整测试)
-- Java 版本:≥ 11(编译期强制校验,`bin/start-hugegraph-store.sh` 启动时会再次检查)
-- Maven 版本:≥ 3.5.0
+- Java 版本:HugeGraph 1.8.0+ 使用 Java 17(Maven 源码构建仅接受 JDK 17;启动脚本拒绝低于 17 的运行时;1.7.0 是最后一个支持 Java 11 的版本)
+- Maven 版本:≥ 3.6.3(从源码编译时)
- 如需进行多节点部署,请先部署 HugeGraph-PD
### 3 部署
diff --git a/content/cn/docs/quickstart/hugegraph/hugegraph-pd.md b/content/cn/docs/quickstart/hugegraph/hugegraph-pd.md
index 84915da45..5aeac92e7 100644
--- a/content/cn/docs/quickstart/hugegraph/hugegraph-pd.md
+++ b/content/cn/docs/quickstart/hugegraph/hugegraph-pd.md
@@ -25,8 +25,8 @@ PD 监听三个端口:
#### 2.1 前置条件
- 操作系统:Linux 或 macOS(Windows 尚未经过完整测试)
-- Java 版本:≥ 11
-- Maven 版本:≥ 3.5.0
+- Java 版本:HugeGraph 1.8.0+ 使用 Java 17(Maven 源码构建仅接受 JDK 17;启动脚本拒绝低于 17 的运行时;1.7.0 是最后一个支持 Java 11 的版本)
+- Maven 版本:≥ 3.6.3(从源码编译时)
### 3 部署
@@ -302,7 +302,7 @@ HG_PD_RAFT_PEERS_LIST: pd0:8610,pd1:8610,pd2:8610
./bin/start-hugegraph-pd.sh
```
-脚本要求 `PATH` 或 `JAVA_HOME` 中有 11 及以上版本的 JDK;如果发现已有 Java 进程在使用本安装目录的 `conf` 目录,脚本会直接退出,不做任何事。
+脚本要求 `PATH` 或 `JAVA_HOME` 中有 17 及以上版本的 JDK(1.7.0 要求 11 及以上);如果发现已有 Java 进程在使用本安装目录的 `conf` 目录,脚本会直接退出,不做任何事。
支持的参数:
diff --git a/content/cn/docs/quickstart/hugegraph/hugegraph-server.md b/content/cn/docs/quickstart/hugegraph/hugegraph-server.md
index 19ea7f312..5a70e587d 100644
--- a/content/cn/docs/quickstart/hugegraph/hugegraph-server.md
+++ b/content/cn/docs/quickstart/hugegraph/hugegraph-server.md
@@ -15,7 +15,7 @@ aliases:
`hugegraph-server` 模块包含 `hugegraph-core`、`hugegraph-api`、`hugegraph-dist` 和存储适配等子模块。Core 实现属性图模型、事务与 TinkerPop 接口,API 提供 HTTP 服务并将客户端请求交给 Core 处理。图数据由 RocksDB(单机默认)、HStore(分布式)或 HBase 后端保存。
> [!WARNING]
-> **版本说明**:本文区分已发布版本与开发主线。下载示例使用 ASF 发布的 HugeGraph 1.7.0 安装包;源码构建、配置默认值和启动行为以 `apache/hugegraph` 的 `master` 分支为准。主线源码构建出的包不是 ASF 发布包,即使包内版本号相同也不代表与 1.7.0 发布包相同。本文介绍 RocksDB、HStore 和 HBase;其他旧后端请参考 [HugeGraph 1.5.x 文档](https://github.com/apache/hugegraph-doc/blob/release-1.5.0/content/cn/docs/quickstart/hugegraph/hugegraph-server.md)。
+> **版本说明**:本文区分已发布版本与开发主线。下载示例使用 ASF 发布的 HugeGraph 1.7.0 安装包;源码构建、配置默认值和启动行为以 `apache/hugegraph` 的 `master` 分支为准。主线源码构建出的包不是 ASF 发布包,即使包内版本号与发布版本一致也不代表属于官方发布包。本文介绍 RocksDB、HStore 和 HBase;其他旧后端请参考 [HugeGraph 1.5.x 文档](https://github.com/apache/hugegraph-doc/blob/release-1.5.0/content/cn/docs/quickstart/hugegraph/hugegraph-server.md)。
> 名称说明:`HugeGraph` 表示整个项目或主仓库,`hugegraph-server` 表示仓库中的 Server 模块,`HugeGraphServer` 是服务进程的 Java 类名。下文的 Server 服务指运行中的图数据库服务。
@@ -51,17 +51,46 @@ markmap:
## 2 依赖
-### 2.1 安装 Java 11 (JDK 11)
+
-HugeGraph 1.7.0 中的 `hugegraph-server` 模块使用 Java 11 编译,运行和源码构建均需使用 Java 11 或更高版本。
+### 2.1 安装 Java 17 (JDK 17)
+
+从 HugeGraph 1.8.0 开始使用 **Java 17**;**1.7.0 是最后一个支持 Java 11 的版本**。
+所有模块的源码构建要求 **JDK 17 和 Maven 3.6.3 或更高版本**,Server、PD 和 Store 的运行环境统一使用 **JDK 17**。
+Server 安全检查(`-s true`)要求 Java 17 到 23 以及可读的 `conf/java-security.properties`;在 Java 24 或更高版本上,需以 `-s false` 启动 Server(JDK 24 通过 JEP 486 移除了 Security Manager)。
**在继续阅读前,请先执行 `java -version` 命令确认 JDK 版本。**
-> 1.7.0 起不再支持 Java 8。`bin/hugegraph-server.sh` 在低于 Java 11 的环境下会直接拒绝启动。
+> [!NOTE]
+> **TinkerPop 3.8.1 兼容性与核心变更**
+>
+> HugeGraph 1.8.0 升级至 TinkerPop 3.8.1 与 Groovy 4.0.25。请使用 Server 随包提供的 Gremlin 配置文件。
+>
+> - **序列化器包路径变更**:Driver 序列化器类从 `org.apache.tinkerpop.gremlin.driver.ser` 移至 `org.apache.tinkerpop.gremlin.util.ser`,需保留配置中的 HugeGraph registries。
+> - **Graph.Features 调整**:`supportsUniformListValues()` 现返回 `false`;按 Schema 定义的 `valueList()`/`LIST` 属性仍正常支持,无需重写既有列表数据。
+> - **遍历倍数语义**:遍历中途扫描保留上游输入数量(如 3 个顶点执行 `g.V().V().count()` 返回 `9L`)。
+> - **日期时间类型**:`DATE` 属性支持写入及索引等值/范围查询中的 `OffsetDateTime`(按 instant 毫秒归一化)。
+> - **过滤与优化**:`P.typeOf()` 作为本地过滤执行;Count 过滤仅在谓词分支可证明截断安全时应用优化。
+
+```yaml {tab="GraphBinary (推荐/默认)"}
+# 随包 Driver 与 Console 默认采用 GraphBinary V1
+# - Schema 结果为标准 Map
+# - Blob 值以二进制格式传输(包含在返回图元素内的 Blob)
+serializer:
+ className: org.apache.tinkerpop.gremlin.util.ser.GraphBinaryMessageSerializerV1
+ config:
+ ioRegistries: [org.apache.hugegraph.structure.io.HugeGraphIoRegistry]
+```
-> 安全检查默认开启,会安装 `HugeSecurityManager`,它要求 Java 11 到 23。JDK 24 移除了 Security Manager([JEP 486](https://openjdk.org/jeps/486)),因此在 Java 24 及更高版本上必须关闭该检查后再启动服务:`bin/start-hugegraph.sh -s false`。
+```yaml {tab="GraphSON (HTTP/兼容)"}
+# 默认 HTTP JSON 采用 untyped GraphSON V1
+# - 保留 Tree 的旧 key/value 数组结构
+# - Typed GraphSON V1 因安全原因已禁用(typed V2/V3 仅适用于受支持的简单标量与 ID)
+# - graph.schema() 返回包含各类 label 的 Map
+```
-> 源码构建还需要 Maven 3.5.0 或更高版本。
+> [!TIP]
+> 完整客户端配置与验证细节见 [Server 运行时文档](https://github.com/apache/hugegraph/blob/master/docs/server-runtime.md)。
## 3 部署
@@ -178,13 +207,13 @@ mvn package -DskipTests -ntp
[INFO] BUILD SUCCESS
```
-执行成功后,根目录 `target/` 下会生成主线聚合包(当前仓库版本属性为 1.7.0):
+执行成功后,根目录 `target/` 下会生成主线聚合包(当前仓库版本属性为 1.8.0):
```text
-target/apache-hugegraph-1.7.0.tar.gz
+target/apache-hugegraph-1.8.0.tar.gz
```
-该文件名中的版本号来自源码的 `revision` 属性;它不会把主线构建变成 ASF 发布物料。构建过程还会在仓库根目录生成 `apache-hugegraph-1.7.0/` 聚合目录,其中的 Server 子目录名由 Server 模块的 `final.name` 决定,例如当前为 `apache-hugegraph-server-1.7.0`。若只保留了 tar 包,则先执行 `tar zxf target/apache-hugegraph-1.7.0.tar.gz` 再进入该目录。
+该文件名中的版本号来自源码的 `revision` 属性;它不会把主线构建变成 ASF 发布物料。构建过程还会在仓库根目录生成 `apache-hugegraph-1.8.0/` 聚合目录,其中的 Server 子目录名由 Server 模块的 `final.name` 决定,例如当前为 `apache-hugegraph-server-1.8.0`。若只保留了 tar 包,则先执行 `tar zxf target/apache-hugegraph-1.8.0.tar.gz` 再进入该目录。
默认构建会打包 `rocksdb`、`hbase` 和 `hstore` 三个后端模块,并把它们记录在 `hugegraph-dist` jar 内的 `backend.properties` 资源的 `backends` 配置项中。若只需要包含 RocksDB 的精简发布包,可加上 `-Drocksdb-only`:
@@ -545,10 +574,10 @@ Connecting to HugeGraphServer (http://127.0.0.1:8080/graphs)......OK
| 参数 | 取值 | 默认值 | 作用 |
|---|---|---|---|
| `-d` | `true`、`false` | `true` | 守护进程模式。`-d false` 时脚本留在前台,并把 `SIGTERM`/`SIGINT` 转发给服务进程 |
-| `-g` | `zgc` 或 `ZGC` | 不填则用 G1GC | 选择垃圾回收器。只接受 ZGC,其他取值会直接终止启动;ZGC 需要 Java 11 及以上 |
+| `-g` | `g1`、`G1`、`zgc`、`ZGC` | JVM 默认值 | 选择垃圾回收器(`g1`/`G1` 设置 `-XX:+UseG1GC`;`zgc`/`ZGC` 设置 `-XX:+UseZGC`)。不填则使用 JVM 默认收集器配置 |
| `-m` | `true`、`false` | `false` | 安装基于 crontab 的监控任务(`bin/start-monitor.sh`),仅用于虚拟机和物理机部署 |
| `-p` | `true`、`false` | `false` | 预加载示例图,见 5.1.4 |
-| `-s` | `true`、`false` | `true` | 开启安全检查(`HugeSecurityManager`)。要求 Java 11 到 23,且 `conf/java-security.properties` 可读 |
+| `-s` | `true`、`false` | `true` | 开启安全检查(`HugeSecurityManager`),要求 Java 17 到 23 以及 `conf/java-security.properties` 可读。在 Java 24+ 上需传 `-s false` |
| `-j` | JVM 参数 | 空 | 追加到服务命令行的额外 JVM 参数 |
| `-t` | 秒 | `30` | 判定启动失败前等待服务响应的时长 |
| `-y` | `true`、`false` | `false` | 开启 OpenTelemetry agent 上报链路追踪 |
diff --git a/content/en/docs/contribution-guidelines/hugegraph-server-idea-setup.md b/content/en/docs/contribution-guidelines/hugegraph-server-idea-setup.md
index d36b6a962..35ac108a5 100644
--- a/content/en/docs/contribution-guidelines/hugegraph-server-idea-setup.md
+++ b/content/en/docs/contribution-guidelines/hugegraph-server-idea-setup.md
@@ -16,7 +16,7 @@ The core steps for local startup are the same as starting with **scripts**:
2. Start HugeGraph-Server by executing the `HugeGraphServer` class to load the initialized graph information and start the server.
Before proceeding with the following process, make sure that you have cloned the source code of HugeGraph
-and have configured the development environment, such as `Java 11` & you could config your local environment
+and have configured the development environment, such as `Java 17` for HugeGraph 1.8.0+ (`Java 11` for 1.7.0) & you could config your local environment
with this [config-doc](https://github.com/apache/hugegraph/wiki/The-style-config-for-HugeGraph-in-IDEA)
```bash
diff --git a/content/en/docs/contribution-guidelines/validate-release.md b/content/en/docs/contribution-guidelines/validate-release.md
index 03b46116b..7e05b2a2f 100644
--- a/content/en/docs/contribution-guidelines/validate-release.md
+++ b/content/en/docs/contribution-guidelines/validate-release.md
@@ -5,7 +5,7 @@ weight: 3
---
> Note: this doc will be updated continuously.
-> Use Java 17 to build and verify HugeGraph 1.8.0 release packages.
+> Use Java 17 to build and verify HugeGraph 1.8.0 release packages (the Maven build accepts only JDK 17); use Java 11 for 1.7.0. Since version 1.5.0, components other than the client no longer support Java 8.
>
> Graduation note: Apache HugeGraph graduated in January 2026. Official release voting is now completed within the HugeGraph community (PMC binding votes on `dev@hugegraph.apache.org`), and no longer requires Incubator `general@incubator.apache.org` approval.
@@ -47,7 +47,7 @@ subsequent **email reply**.(The following are the core items)
If there is no svn or gpg or wget environment locally, it is recommended to install it first
(windows recommend using WSL2 environment, or at least `git-bash`), also make sure to install java
-(Java 17) and maven software
+(Java 17 for HugeGraph 1.8.0+, Java 11 for 1.7.0) and maven software (≥ 3.6.3)
```bash
# 1. install svn
@@ -166,7 +166,7 @@ After decompressing `*hugegraph*src.tar.gz`, Do the following checks:
6. Finally, make sure the source code works/compiles correctly
```bash
-# prefer to use/switch to `java 17` for the following operations (compiling/running) (Note: `Computer` only supports `java >= 11`)
+# prefer to use/switch to `java 17` for HugeGraph 1.8.0+ (`java 11` for 1.7.0) for the following operations (compiling/running) (Note: `Computer` only supports `java >= 11`)
# java --version
# try to compile in the Unix env to check if it works well (-P is optional)
diff --git a/content/en/docs/guides/faq.md b/content/en/docs/guides/faq.md
index 8b68bd643..7061c8beb 100644
--- a/content/en/docs/guides/faq.md
+++ b/content/en/docs/guides/faq.md
@@ -13,8 +13,8 @@ weight: 6
Version 1.7.0 supports RocksDB, HStore, HBase, and Memory. Legacy backends such as Cassandra, ScyllaDB, MySQL, and PostgreSQL require version 1.5.x or earlier.
- Prompt when starting the service: `xxx (core dumped) xxx`
-
- First confirm that the JDK version is Java 11 or later. HugeGraph 1.7.0 no longer supports Java 8.
+
+ First confirm that your JDK version matches the requirements: Java 17 for HugeGraph 1.8.0+, or Java 11 for 1.7.0. HugeGraph no longer supports Java 8.
- The service is started successfully, but there is a prompt similar to "Unable to connect to the backend or the connection is not open" when operating the graph
diff --git a/content/en/docs/quickstart/hugegraph/hugegraph-hstore.md b/content/en/docs/quickstart/hugegraph/hugegraph-hstore.md
index 27dca0e2a..5e987e695 100644
--- a/content/en/docs/quickstart/hugegraph/hugegraph-hstore.md
+++ b/content/en/docs/quickstart/hugegraph/hugegraph-hstore.md
@@ -22,8 +22,8 @@ Each Store node keeps graph data in RocksDB and replicates it with Raft (JRaft):
#### 2.1 Requirements
- Operating System: Linux or macOS (Windows has not been fully tested)
-- Java version: ≥ 11 (enforced by the build and re-checked by `bin/start-hugegraph-store.sh`)
-- Maven version: ≥ 3.5.0
+- Java version: Java 17 for HugeGraph 1.8.0+ (the Maven build accepts only JDK 17; the start script rejects older runtimes; 1.7.0 is the last release supporting Java 11)
+- Maven version: ≥ 3.6.3 (for building from source)
- Deploy HugeGraph-PD first for multi-node deployment
### 3 Deployment
diff --git a/content/en/docs/quickstart/hugegraph/hugegraph-pd.md b/content/en/docs/quickstart/hugegraph/hugegraph-pd.md
index 9490e41c9..c0afa9b7b 100644
--- a/content/en/docs/quickstart/hugegraph/hugegraph-pd.md
+++ b/content/en/docs/quickstart/hugegraph/hugegraph-pd.md
@@ -25,8 +25,8 @@ PD listens on three ports:
#### 2.1 Requirements
- Operating System: Linux or macOS (Windows has not been fully tested)
-- Java version: ≥ 11
-- Maven version: ≥ 3.5.0
+- Java version: Java 17 for HugeGraph 1.8.0+ (the Maven build accepts only JDK 17; the start script rejects older runtimes; 1.7.0 is the last release supporting Java 11)
+- Maven version: ≥ 3.6.3 (for building from source)
### 3 Deployment
@@ -304,7 +304,8 @@ In the PD installation directory, execute:
./bin/start-hugegraph-pd.sh
```
-The script requires a JDK of at least version 11 on `PATH` or in `JAVA_HOME`, and it exits without doing anything if it finds a Java process already using this installation's `conf` directory.
+The script requires Java 17 or later on `PATH` or in `JAVA_HOME` (Java ≥ 11 on 1.7.0).
+It exits without doing anything if it finds a Java process already using this installation's `conf` directory.
Supported flags:
diff --git a/content/en/docs/quickstart/hugegraph/hugegraph-server.md b/content/en/docs/quickstart/hugegraph/hugegraph-server.md
index 8b7bb55d8..ac16e05fa 100644
--- a/content/en/docs/quickstart/hugegraph/hugegraph-server.md
+++ b/content/en/docs/quickstart/hugegraph/hugegraph-server.md
@@ -15,7 +15,7 @@ aliases:
The `hugegraph-server` module contains `hugegraph-core`, `hugegraph-api`, `hugegraph-dist`, and storage adapters. Core implements the property graph model, transactions, and TinkerPop interfaces. API provides the HTTP service and delegates client requests to Core. Graph data is stored in RocksDB (the default standalone backend), HStore (distributed), or HBase.
> [!WARNING]
-> **Version scope**: Download examples use the ASF HugeGraph 1.7.0 release. Source builds, configuration defaults, and startup behavior follow `apache/hugegraph` master. A master build is not an ASF release artifact, even if its version number matches 1.7.0. This guide covers RocksDB, HStore, and HBase; see [1.5.x documentation](https://github.com/apache/hugegraph-doc/blob/release-1.5.0/content/en/docs/quickstart/hugegraph/hugegraph-server.md) for other legacy backends.
+> **Version scope**: Download examples use the ASF HugeGraph 1.7.0 release. Source builds, configuration defaults, and startup behavior follow `apache/hugegraph` master. A master build is not an ASF release artifact, even if its version number matches a release. This guide covers RocksDB, HStore, and HBase; see [1.5.x documentation](https://github.com/apache/hugegraph-doc/blob/release-1.5.0/content/en/docs/quickstart/hugegraph/hugegraph-server.md) for other legacy backends.
> Naming: `HugeGraph` means the overall project or main repository, `hugegraph-server` is its Server module, and `HugeGraphServer` is the Java service class. Server below means the running graph database service.
@@ -53,17 +53,50 @@ markmap:
## 2 Dependency for Building/Running
-### 2.1 Install Java 11 (JDK 11)
+
-The `hugegraph-server` module in HugeGraph 1.7.0 is compiled with Java 11. Running and building it from source require Java 11 or later.
+### 2.1 Install Java 17 (JDK 17)
+
+Starting with HugeGraph 1.8.0, use **Java 17**; **1.7.0 is the last release supporting Java 11**.
+Build all modules with **JDK 17 and Maven 3.6.3 or later**, and run Server, PD and Store with **JDK 17**.
+Server security check (`-s true`) requires Java 17 to 23 and a readable `conf/java-security.properties`;
+on Java 24 or later, start Server with `-s false` (JDK 24+ dropped Security Manager via JEP 486).
**Before continuing, run `java -version` to confirm your JDK version.**
-> Java 8 is no longer supported starting from 1.7.0. `bin/hugegraph-server.sh` refuses to start on anything older than Java 11.
+> [!NOTE]
+> **TinkerPop 3.8.1 Compatibility & Key Changes**
+>
+> HugeGraph 1.8.0 upgrades to TinkerPop 3.8.1 and Groovy 4.0.25. Use the Gremlin configuration files bundled with Server.
+>
+> - **Serializer Packages**: Driver serializer classes moved from `org.apache.tinkerpop.gremlin.driver.ser` to `org.apache.tinkerpop.gremlin.util.ser`.
+> Keep HugeGraph registries.
+> - **Graph.Features**: `supportsUniformListValues()` returns `false` for properties.
+> Schema `valueList()`/`LIST` properties remain supported without rewriting existing data.
+> - **Traversal Multiplicity**: Mid-traversal scans retain input multiplicity (e.g. for 3 vertices, `g.V().V().count()` returns `9L`).
+> - **Date & Time Types**: `DATE` properties accept `OffsetDateTime` for writes and indexed equality/range queries (instant normalized to milliseconds).
+> - **Filtering Behavior**: `P.typeOf()` runs as a local filter; count filtering applies range optimizations only when predicate branches are provably safe.
+
+```yaml {tab="GraphBinary (Recommended)"}
+# Bundled Driver and Console default to GraphBinary V1
+# - Schema results are standard maps
+# - Blob values are binary (including inside returned elements)
+serializer:
+ className: org.apache.tinkerpop.gremlin.util.ser.GraphBinaryMessageSerializerV1
+ config:
+ ioRegistries: [org.apache.hugegraph.structure.io.HugeGraphIoRegistry]
+```
-> The security check is on by default and installs `HugeSecurityManager`, which needs Java 11 to 23. JDK 24 removed the Security Manager ([JEP 486](https://openjdk.org/jeps/486)), so on Java 24 or later you must start the service with the check disabled: `bin/start-hugegraph.sh -s false`.
+```yaml {tab="GraphSON (HTTP / Legacy)"}
+# Default HTTP JSON uses untyped GraphSON V1
+# - Preserves the legacy Tree key/value array structure
+# - Typed GraphSON V1 is disabled for security (typed V2/V3 remain available for simple values and IDs)
+# - graph.schema() returns property keys, vertex labels, edge labels, and index labels
+```
-> Building from source also needs Maven 3.5.0 or later.
+> [!TIP]
+> For complete client configuration and migration details, see the
+> [server runtime documentation](https://github.com/apache/hugegraph/blob/master/docs/server-runtime.md).
## 3 Deploy
@@ -178,13 +211,13 @@ A successful build logs:
[INFO] BUILD SUCCESS
```
-The build creates an aggregate master archive under repository-root `target/` (the current source version property is 1.7.0):
+The build creates an aggregate master archive under repository-root `target/` (the current source version property is 1.8.0):
```text
-target/apache-hugegraph-1.7.0.tar.gz
+target/apache-hugegraph-1.8.0.tar.gz
```
-The filename version comes from source `revision`; it does not make the build an ASF release artifact. The build also creates repository-root `apache-hugegraph-1.7.0/`, containing a Server directory named by that module's `final.name`, currently `apache-hugegraph-server-1.7.0`. If retaining only the archive, first run `tar zxf target/apache-hugegraph-1.7.0.tar.gz`, then enter the Server directory.
+The filename version comes from source `revision`; it does not make the build an ASF release artifact. The build also creates repository-root `apache-hugegraph-1.8.0/`, containing a Server directory named by that module's `final.name`, currently `apache-hugegraph-server-1.8.0`. If retaining only the archive, first run `tar zxf target/apache-hugegraph-1.8.0.tar.gz`, then enter the Server directory.
Default builds bundle `rocksdb`, `hbase`, and `hstore` modules, listed in `backends` within `backend.properties` in the `hugegraph-dist` JAR. For a RocksDB-only distribution, add `-Drocksdb-only`:
@@ -546,10 +579,10 @@ This indicates the successful creation of the sample graph.
| Option | Values | Default | Purpose |
|---|---|---|---|
| `-d` | `true`, `false` | `true` | Daemon mode. With `-d false` the script stays in the foreground and forwards `SIGTERM`/`SIGINT` to the server. |
-| `-g` | `zgc` or `ZGC` | omit for G1GC | Garbage collector to use. Only ZGC is accepted, any other value aborts the startup. ZGC needs Java 11 or later. |
+| `-g` | `g1`, `G1`, `zgc`, `ZGC` | JVM default | Garbage collector to use (`g1`/`G1` sets `-XX:+UseG1GC`; `zgc`/`ZGC` sets `-XX:+UseZGC`). Omitting `-g` uses the JVM default collector. |
| `-m` | `true`, `false` | `false` | Install the cron-based monitor task (`bin/start-monitor.sh`). For VM and bare-metal deployments only. |
| `-p` | `true`, `false` | `false` | Preload the sample graph, as in 5.1.4. |
-| `-s` | `true`, `false` | `true` | Run with the security check (`HugeSecurityManager`) enabled. It requires Java 11 to 23 and a readable `conf/java-security.properties`. |
+| `-s` | `true`, `false` | `true` | Enable `HugeSecurityManager`; requires Java 17 to 23 and readable `conf/java-security.properties`. On Java 24+, start with `-s false`. |
| `-j` | JVM options | empty | Extra JVM options appended to the server command line. |
| `-t` | seconds | `30` | How long to wait for the service to answer before reporting a failed startup. |
| `-y` | `true`, `false` | `false` | Enable the OpenTelemetry agent for traces. |