HugeGraph 1.8.0 Release Notes
WIP: This doc is under construction, please wait for the final version (BETA)
Runtime & Version Requirements
- Java Environment: 1.8.0 HugeGraph components (Server, PD, Store) require Java 17 for runtime and source builds (1.7.0 is the last release supporting Java 11).
- Query & Script Engine: Graph traversal framework upgraded to Apache TinkerPop 3.8.1, script engine upgraded to Groovy 4.0.25.
Key Breaking Changes & Compatibility
1. Critical Gremlin Traversal Breaking Changes
- Removed
has(key, traversal)overload: In Groovy on HugeGraph 1.8, legacy syntax fails immediately with anInvalid data type of query valueexception due to strong type checks (pure TinkerGraph returns empty results). Usehas('age', gt(30))for simple conditions, orfilter(__.values('age').is(gt(30)))for child traversals. - Removed
store()& scopedaggregate(): Useaggregate('x')for global eager collection; uselocal(__.aggregate('x'))for lazy or per-object collection. - Step
none()renamed todiscard(): Discarding incoming traversers must now usediscard()(avoids collision with new collection predicatenone(P)). - Strict
by()behavior on missing properties: Vertices missing properties are dropped inorder().by(); keys are omitted from maps inproject().by(); paths are discarded inpath().by(). Wrap withcoalesce()to provide explicit defaults if preservation is needed. choose()semantics alignment: Executes only the first matching branch when conditions overlap; passes elements through unchanged by default when no branch matches or values are absent.
For comprehensive query comparison examples and the full migration checklist, see the HugeGraph 1.8.0 Gremlin Migration & Compatibility Guide.
2. Server Configuration & Client Compatibility
- Serializer class names: Serializer packages in
conf/gremlin-server.yamlmoved fromorg.apache.tinkerpop.gremlin.driver.ser.*toorg.apache.tinkerpop.gremlin.util.ser.*. - HugeGraph Client 1.5.0: Basic CRUD and schema operations are backward-compatible on Server 1.8.0; however, Gremlin queries fail due to missing GraphSpace aliases, and auth paths require upgrading the client or using HTTP endpoints.
- GPL word analyzer no longer bundled:
word-1.3.jaris no longer bundled by default due to license compliance. Graphs configured withsearch.text_analyzer=wordremain supported onceword-1.3.jaris placed in Server’slib/directory. Alternatively, switch to IK or SmartCN (note that switching analyzers requires rebuilding search indexes).
hugegraph
API Changes
- BREAKING CHANGE: Upgrade TinkerPop to 3.8.1 and require Java 17 runtime
- BREAKING CHANGE: Shared foundation module migration (
hugegraph-struct)
Feature Changes
- Support TinkerPop 3.8 steps including
discard(),mergeV(),mergeE(), and date steps (datetime(),dateAdd(),dateDiff()) - Adapt HugeSecurityManager and Groovy 4.0.25 on Java 17
- Improve count query visibility inside uncommitted transactions