Skip to content

v0.6.0 — Gremlin persistence and backend acceptance tests

Latest

Choose a tag to compare

@qiansheng91 qiansheng91 released this 12 Oct 14:50
f065a68

UModel v0.6.0 adds Gremlin persistence and verifies the complete query and client surface against real graph backends, including authenticated TLS, failure paths, and database restarts.

Features

  • Add the gremlin GraphStore provider for workspace-scoped model, entity, and topology persistence over GraphSON 3 WebSocket requests (#114).
  • Configure plain or verified TLS connections through GREMLIN_*, with optional SASL authentication and PEM certificate authorities.
  • Add make test-gremlin-matrix and CI coverage for real Gremlin Server 3.7.3, including REST, CLI, MCP, Go SDK, query methods, historical visibility, concurrent writes, server failures, and persistence recovery.

Fixes and improvements

  • Restore derived schema and search indexes from persisted records after application restart, including RunbookSet and keyword/vector/hyper routing.
  • Keep search indexes consistent with successful entity mutations: rejected Create and same-batch Update/Delete no longer introduce stale search rows.
  • Return the stable TIMEOUT error for planning-stage deadlines and fix workspace pagination skipping records.
  • Decode the current REST query matrix envelope in the Go service SDK.
  • Serialize WebSocket operations without background pool shutdown/reconnect races, send large requests in one frame, and guard allocation-size calculations.
  • Stabilize Docker restart validation by pinning the persistent test server's published port.
  • Remove private documentation links and enforce public-link checks.

Download and run

OS amd64 / x86-64 arm64 / AArch64
Linux umodel_v0.6.0_linux_amd64.tar.gz umodel_v0.6.0_linux_arm64.tar.gz
macOS umodel_v0.6.0_darwin_amd64.tar.gz umodel_v0.6.0_darwin_arm64.tar.gz
Windows umodel_v0.6.0_windows_amd64.zip umodel_v0.6.0_windows_arm64.zip

Each bundle includes umodel-server, umctl, umodel-mcp, the production Web UI, three sample packs, a license, build metadata, and startup instructions. No Go or Node.js installation is needed to run the bundle.

After extracting, run from the bundle directory:

./umodel-server --addr 127.0.0.1:8080 --graphstore file.memory --data ./data --ui-dir ./web --quickstart

On Windows, use .\umodel-server.exe with the same arguments. Open http://localhost:8080 and select demo. Preserve data/ across restarts. Verify downloads against SHA256SUMS; build-info.json records the source revision, build time, Go version, and target platforms.

Compatibility

The bundles include memory, file.memory, neo4j, and gremlin. local.ladybug requires a separate tagged build and native library. Gremlin endpoints require GraphSON 3 and bound gremlin-groovy scripts. Use one writing provider instance per graph, and keep request batches within the 1 MiB limit.

Public reads remain behind Query Service and its SPL/read-only Cypher surface. graph-match is not advertised by the Gremlin provider. Transaction rollback is verified on TinkerTransactionGraph; non-transactional TinkerGraph can retain partial writes after a server failure. The default embedder is noop; search routing and index recovery are validated, not embedding quality.

Validation

  • The exact release commit passed main CI, including the local gate, browser E2E, Gremlin acceptance matrix, Ladybug, and both Neo4j dialects.
  • Production UI type-check/build and all six platform builds passed.
  • All archives passed contents, executable architecture, embedded source/version metadata, and SHA256 checks.
  • Native macOS ARM64 and Linux ARM64 bundles passed CLI version/query, HTTP/UI, model/entity/topology query, agent discovery, and MCP manifest smoke checks. Linux persistent data was also reopened without reseeding.

中文摘要

  • 新增 Gremlin provider,支持模型、实体与拓扑持久化,以及 TLS、SASL 认证和自定义 CA。
  • 修复重启后的 schema/搜索索引恢复、失败写入导致的搜索结果不一致、查询超时、工作区分页及 Go SDK 查询响应解析。
  • 完整验证真实 Gremlin Server 的查询、写入、REST/CLI/MCP/SDK、事务回滚、断连和数据库重启。
  • 提供 Linux、macOS、Windows 的 amd64/arm64 安装包,包含 Web UI 与样例数据;开箱运行无需 Go 或 Node.js。

Source commit: f065a68c51268c60be941180934462161f89f483.

Full changelog: v0.5.0...v0.6.0