Download xrayGraphDB

The vectorized graph database built for speed, transparency, and AI-native analytics.

v5.0.0 GA — eMTAi LLC
GENERAL AVAILABILITY: xrayGraphDB v5.0.0 is a production-ready GA release. Compiled with Clang 22.1.3, GCC 15.1.0 toolchain. Distributed under commercial license — request access at emtai-xray.emtailabs.com.

🐧 Linux (x86_64)

PackageArchitectureFormatSizeDownload
Ubuntu 24.04+ / Debian 13+amd64.deb64 MB Download
Rocky / RHEL / Fedora / CentOS Streamx86_64.rpm Coming Soon
Generic Linux (glibc 2.39+)
Use this if you can't wait for the RPM
x86_64.tar.gz84 MB Download

🐳 Docker RECOMMENDED

Works on all Linux distributions, macOS (via Docker Desktop), and Windows (via WSL2). No glibc version requirements.

ImageArchitectureBasePull Command
xraygraphdb:v5.0.0amd64Ubuntu 24.04 docker pull xraygraphdb.emtailabs.com/xraygraphdb:v5.0.0
xraygraphdb:latestamd64Ubuntu 24.04 docker pull xraygraphdb.emtailabs.com/xraygraphdb:latest

Or download the image as a tarball: Download .tar.gz (195 MB)

ARM64 (Apple Silicon / Graviton) Docker image available. macOS native and Windows builds coming soon.

Verify your download: SHA256 checksums for all artifacts are published alongside each release. Download SHA256SUMS.txt

🔌 Clients & Drivers

Python ships with a native xrayProtocol client (recommended for new code). Every other language connects via Bolt v5 using its existing Neo4j driver — no xrayGraphDB-specific install needed. Native xrayProtocol clients for the other languages are on the roadmap.

🐍 Python — native xrayProtocol

xgdb-connect — native binary client for Python 3.11+. Zero dependencies for core protocol. Columnar batch decoding, parameterized queries, bulk insert, PING/PONG health checks.

PackageVersionPythonInstall
xgdb-connect1.2.2≥3.11 pip install xgdb-connect --extra-index-url https://xraygraphdb.emtailabs.com/pypi/
xgdb-connect (wheel)1.2.2≥3.11 Download .whl
# Connect via native xrayProtocol (port 7689)
from xgdb_connect import XrayProtocolClient

client = XrayProtocolClient("localhost", 7689,
                            auth_token="admin:password",
                            database="xraygraphdb")
cols, rows = client.execute("MATCH (n) RETURN count(n) AS total")
print(f"Nodes: {rows[0][0]}")
client.close()

Optional connector extras: pip install xgdb-connect[kafka,redis,nats] for streaming source connectors.

🌐 Other Languages — Bolt v5 (Neo4j drivers)

xrayGraphDB speaks Bolt v5 on port 7687 for compatibility with every official Neo4j driver. Install the standard driver from your language's package manager — no xrayGraphDB-specific build required. Native xrayProtocol clients for these languages are planned.

LanguageDriverInstallStatus
JavaScript / TypeScript neo4j-driver (Node.js, browsers) npm install neo4j-driver Bolt v5
Java org.neo4j.driver:neo4j-java-driver maven / gradle Bolt v5
.NET (C#, F#, VB.NET) Neo4j.Driver (NuGet) dotnet add package Neo4j.Driver Bolt v5
Go github.com/neo4j/neo4j-go-driver/v5 go get github.com/neo4j/neo4j-go-driver/v5 Bolt v5
Rust neo4rs cargo add neo4rs Community Bolt
Ruby neo4j-ruby-driver gem install neo4j-ruby-driver Community Bolt
JavaScript / TypeScript — native xrayProtocol client Coming Soon
Go — native xrayProtocol client Coming Soon
Java — native xrayProtocol client Coming Soon
.NET — native xrayProtocol client Coming Soon
// Node.js / JavaScript — via Bolt v5 (port 7687)
const neo4j = require('neo4j-driver');
const driver = neo4j.driver('bolt://localhost:7687',
                            neo4j.auth.basic('admin', 'password'));
const session = driver.session({ database: 'xraygraphdb' });
const result = await session.run('MATCH (n) RETURN count(n) AS total');
console.log(result.records[0].get('total'));
await session.close();
await driver.close();

Quick Start — DEB (Ubuntu / Debian)

# Install
sudo dpkg -i xraygraphdb_5.0.0_amd64.deb

# Start the service
sudo systemctl enable --now xraygraphdb

# Connect via Bolt
python3 -c "
from neo4j import GraphDatabase
d = GraphDatabase.driver('bolt://localhost:7687')
print(d.execute_query('RETURN 1 AS n').records)
"

Quick Start — Rocky / RHEL / Fedora / CentOS Stream

# Native RPM packages are not yet published. Use either the generic
# Linux tarball above (recommended) or the Docker image below.
#
# Option A — generic Linux tarball:
tar xzf xraygraphdb-5.0.0-linux-x86_64.tar.gz
cd xraygraphdb-5.0.0-linux-x86_64
sudo bash install.sh
sudo systemctl enable --now xraygraphdb

# Option B — Docker (works on every distribution):
docker pull xraygraphdb.emtailabs.com/xraygraphdb:v5.0.0
docker run -d --name xraygraphdb -p 7687:7687 -p 7689:7689 \
  -v xraygraphdb-data:/var/lib/xraygraphdb \
  xraygraphdb.emtailabs.com/xraygraphdb:v5.0.0

Quick Start — Tarball (Generic Linux)

# Extract
tar xzf xraygraphdb-5.0.0-linux-x86_64.tar.gz
cd xraygraphdb-5.0.0-linux-x86_64

# Install
sudo bash install.sh

# Start the service
sudo systemctl enable --now xraygraphdb

Quick Start — Docker

# Load the image
docker load < xraygraphdb-5.0.0-docker.tar.gz

# Run with persistent storage
docker run -d \
  --name xraygraphdb \
  -p 7687:7687 \
  -p 7689:7689 \
  -v xraygraphdb-data:/var/lib/xraygraphdb \
  xraygraphdb:v5.0.0

Quick Start — macOS (coming soon)

# macOS builds are not yet available in v5.0.0 GA.
# Check back for future releases.

# Create data directory
mkdir -p ~/Library/Application\ Support/xrayGraphDB

# Run
/usr/local/lib/xraygraphdb/xraygraphdb \
  --data-directory="$HOME/Library/Application Support/xrayGraphDB" \
  --bolt-port=7687

Quick Start — Docker

docker pull xraygraphdb.emtailabs.com/xraygraphdb:v5.0.0

# Run with persistent storage
docker run -d \
  --name xraygraphdb \
  -p 7687:7687 \
  -p 7689:7689 \
  -v xraygraphdb-data:/var/lib/xraygraphdb \
  -e XRAY_ADMIN_PASSWORD=changeme \
  xraygraphdb.emtailabs.com/xraygraphdb:v5.0.0

# Connect
#   Bolt:          bolt://localhost:7687
#   xrayProtocol:  localhost:7689

System Requirements

Minimum: 2 CPU cores, 4 GB RAM, 10 GB disk

Recommended: 8+ CPU cores, 32+ GB RAM, NVMe SSD

Linux (native): x86_64, Ubuntu 24.04+ or Debian 13+ (glibc 2.39+). For older distributions, use Docker.

Linux (Docker): Any x86_64 Linux with Docker Engine 20.10+. No glibc requirement.

macOS: macOS 14 Sonoma or later, Apple Silicon (arm64) or Intel (x64)

Windows: Windows 10/11 or Server 2022+, x64, MSVC runtime

What's new in v5.0.0 GA

Security & hardening sweep. 40+ adversarial-audit P0 / P1 fixes landed across auth, audit logging, plugin loader, cluster RPC, SLK serialization, xrayProtocol transport, and the procedure registration surface. Highlights: bcrypt PHC strings now carry a $v=2 provenance suffix (closes the audit-#7620 side-door rebind window); SHA-256 password hashes refused by default (--auth-reject-sha256-no-stretch); Argon2id work-factor floor enforced at verify-time so attacker-planted weak hashes can't bypass key-stretching; HMAC-keyed credential cache (per-process libsodium secret) replaces SHA-256-only; per-process dummy bcrypt eliminates the static-ciphertext oracle; LBAC fail-open consolidated to one decision point with a sunset date; SecurityLog gains a tamper-evident plugin_kill_refused event; SWIM password capture moved to a SecureString at startup (no more plaintext in /proc/<pid>/mem); new xg.security_list_weak_hash_accounts() procedure for operator-driven migrations; cluster RPC V7 envelopes get a cheap clock check before HMAC (CPU-exhaustion guard); SLK reader / framer integer-overflow and infinite-loop hardening; Encryption-key rotation with no stale-key exposure.

What's in v5.0.0

Vectorized columnar query engine · Compact edge storage (1.8B+ edges on NVMe, streaming O(vertex) build) · Dual protocol (Bolt + xrayProtocol) · 392+ native functions · 26 native analytics procedures (PageRank, Louvain, Node2Vec, BFS, TriangleCount + more) · SIMD-accelerated filters · GPU-accelerated analytics · Graph storage · EdgeAppendLog with backpressure for streaming workloads · Universal import engine (CSV, JSON, SQL dumps, Neo4j CSV, BSON, GIS/GDAL, SQLite, SNAP edge lists) · SQL→Graph FK auto-mapping · Multi-tenant with per-tenant isolation · B-tree ORDER BY elimination · Adaptive query routing (4 engines) · Huge pages + io_uring I/O · Snapshot persistence · Per-tenant encryption · HA replication (beta)

Ports

7687 — Bolt protocol (compatible with Neo4j drivers)

7689 — xrayProtocol (native binary wire format)

7444 — Metrics / monitoring endpoint