github ArcadeData/arcadedb 26.3.1

7 hours ago

ArcadeDB 26.3.1 Release Notes

We're excited to announce ArcadeDB 26.3.1, a feature-packed release with 190+ commits and 52 closed issues that brings major new capabilities including a completely redesigned Studio with an AI assistant, built-in MCP server support, geospatial indexing, a new TimeSeries data model, materialized views, hash indexes, 72 built-in graph algorithms, parallel query execution, and significant improvements across the board.

🎯 Major New Features

Completely Redesigned Studio with AI Assistant

The ArcadeDB Studio has been completely rewritten from scratch (#3485, #3509), delivering a modern, more powerful administration interface:

  • New homepage and login experience
  • Code completion for ArcadeDB SQL and OpenCypher in the query editor (#3508)
  • Server profiler with FlameGraph visualization (#3528, #3409)
  • Dedicated pages for buckets, indexes, and dictionary management
  • New metric pages for both server and database monitoring (req/min charts, CRUD + Tx operations, concurrent modification tracking)
  • Improved graph rendering with element customization
  • User & Group management panel with centralized security controls
  • Materialized views display under query results
  • AI Assistant panel (Beta) (#3574) — integrated ArcadeDB AI assistant with two modes of execution, AI-powered profiler analysis, and agentic capabilities to help with queries and database management

MCP Server (Model Context Protocol)

ArcadeDB now includes a built-in MCP server (#3481, #3460), enabling AI assistants and LLM-based tools to interact with ArcadeDB directly. This release also introduces API Key authentication for programmatic access, manageable through the new Studio security panel.

Geospatial Indexing

New native geospatial indexing with geo.* SQL functions (#3510, #3513), powered by LSM-Tree native storage. Enables efficient spatial queries and proximity searches directly within ArcadeDB without external dependencies.

TimeSeries Data Model

Introduced the TimeSeries data model (#3511, #3488), adding native time-series support to ArcadeDB's multi-model capabilities. This enables efficient storage and querying of time-ordered data alongside graphs, documents, and other models in the same database. Main features:

  • Columnar storage with Gorilla (float), Delta-of-Delta (timestamp), Simple-8b (integer), and Dictionary (tag) compression
  • Shard-per-core parallelism with lock-free writes
  • Block-level aggregation statistics for zero-decompression fast-path queries
  • InfluxDB Line Protocol ingestion for compatibility with Telegraf, Grafana Agent, and hundreds of collection agents
  • Prometheus remote_write / remote_read protocol for drop-in Prometheus backend usage
  • PromQL query language - native parser and evaluator with HTTP-compatible API endpoints
  • SQL analytical functions - ts.timeBucket, ts.rate, ts.percentile, ts.interpolate, window functions, and more
  • Continuous aggregates with watermark-based incremental refresh
  • Retention policies and downsampling tiers for automatic data lifecycle
  • Grafana integration via DataFrame-compatible endpoints (works with the Infinity datasource plugin)
  • Studio TimeSeries Explorer with query, schema inspection, ingestion docs, and PromQL tabs

Materialized Views

Added support for materialized views (#3464, #3463), allowing pre-computed query results to be stored and automatically maintained. Materialized views are fully integrated into Studio for easy management and monitoring.

Hash Index (Extendible Hashing)

New hash index type using extendible hashing algorithm (#3527), providing faster exact-match lookups when range queries are not needed. The hash index is a more efficient alternative to the LSM-Tree index for equality-only access patterns. Studio has been updated to support the new index type.

73 Built-in Graph Algorithms

Implemented a comprehensive set of popular graph algorithms (#3515), making advanced graph analytics available out of the box without external libraries. Multiple batches of algorithms were added covering common use cases like centrality, community detection, pathfinding, and more.

  • Pathfinding: Shortest Path, Dijkstra, A*, Bellman-Ford, Duan SSSP, K-Shortest Paths (Yen's), All Simple Paths, All-Pairs Shortest Paths (Floyd-Warshall), Single-Source Dijkstra, Longest Path (DAG), All Shortest
    Paths
  • Traversal: Breadth-First Search (BFS), Depth-First Search (DFS)
  • Centrality: PageRank, Personalized PageRank, ArticleRank, Betweenness Centrality (Brandes), Closeness Centrality, Harmonic Centrality, Eigenvector Centrality, Degree Centrality, Katz Centrality, HITS (Hub/Authority), Eccentricity
  • Community Detection: Weakly Connected Components (Union-Find), Strongly Connected Components (Kosaraju), Louvain, Leiden, Label Propagation, Speaker-Listener Label Propagation (SLPA), Hierarchical Clustering
  • Graph Structure / Topology: Triangle Count, Local Clustering Coefficient, Articulation Points (Tarjan), Bridges (Tarjan), Biconnected Components, Topological Sort (Kahn), Cycle Detection, K-Core Decomposition, K-Truss Decomposition, Maximal Cliques (Bron-Kerbosch), Graph Summary, Assortativity, Conductance, Modularity Score, Rich-Club Coefficient, Bipartite Check, Graph Coloring, Densest Subgraph (Charikar), Maximum, Flow (Edmonds-Karp), Max K-Cut, Minimum Spanning Tree (Kruskal), Minimum Spanning Arborescence (Chu-Liu/Edmonds), Steiner Tree
  • Link Prediction: Adamic-Adar, Jaccard Similarity, Common Neighbors, Resource Allocation, Preferential Attachment, Same Community, Total Neighbors, SimRank
  • Graph Embeddings / ML: Node2Vec, FastRP, HashGNN, GraphSAGE
  • Other: VoteRank, Influence Maximization (Independent Cascade), Random Walk, K-Nearest Neighbors
  • Path Expansion (APOC-style): Path Expand, Path Expand Config, Spanning Tree, Subgraph All, Subgraph Nodes

Parallel Query Execution

Introduced parallel query support (#1339) for SQL, enabling queries to leverage multiple CPU cores for faster execution on large datasets. Includes safety guards to avoid deadlocks in concurrent scenarios.

OpenCypher User Management & Constraints

  • User management: Supported CREATE USER, DROP USER, and related Cypher commands (#3461)
  • Constraints: Supported OpenCypher constraint syntax (#3459)

🔧 Bug Fixes & Improvements

SQL Engine

  • Fixed IN (SELECT ...) returning wrong results when field has an index (#3565, #3566)
  • Fixed SQL optimization failure on arithmetic expressions
  • Fixed LET in sub-queries
  • Fixed CONTAINSTEXT with FULL_TEXT BY ITEM and compound filters (#3483, #3484)
  • Fixed include and exclude operators (#3480)
  • Fixed index usage with min/max functions
  • Fixed CREATE EDGE with empty array destinations (#3518)
  • Fixed System as reserved keyword in ANTLR parser
  • Planner now prefers full-text index when CONTAINSTEXT is used
  • Fixed accessing internal properties in maps (#3571)
  • Fixed pushed-down filtering in both SQL and Cypher engines
  • Prevented incorrect filter pushdown for WHERE predicates with nested variable references (#3534)
  • Improved native select() API with new methods (#3535)

OpenCypher Engine

  • Fixed filter on queries not working in some cases (#3563)
  • Fixed inline property filters on target nodes in MATCH relationship patterns being silently ignored
  • Fixed usage of parameters (#3556, #3476)
  • COUNT on non-existing label now correctly returns 0 instead of error (#3479)
  • Fixed result property ordering (#3475)
  • Fixed CASE sub-clause handling (#3468)
  • Profiled new OpenCypher commands for security

Wire Protocols

  • Bolt: Fixed parameterized queries failing to match in MATCH property maps (#3560)
  • Bolt: Fixed connection to Neo4j Desktop 1.6.0+ (#3471)
  • gRPC: Fixed transactionId not included in CRUD requests, breaking external transactions (#3524, #3526)
  • Gremlin: Fixed WebSocket connection issue (#3467)
  • Redis: Fixed non-idempotent commands allowed on query endpoint (security fix) (#3469)
  • Redis: Fixed query result format and empty result handling (#3470)
  • Fixed query idempotency checking for Cypher, Gremlin, and MongoDB engines (#3564)
  • Map Cypher to OpenCypher when legacy cypher module (on gremlin) is not available

HTTP API

  • Fixed params broken since 26.2.1 (#3516)
  • Fixed vector.neighbors not expanding properties
  • Studio API now supports headers and session ID integration

Server & Security

  • Fixed root user not allowed to update database settings (#3569)
  • Fixed security issue during query execution
  • Fixed server groups migration
  • Allow 3rd party database registration into the server

Core Engine

  • Fixed edge indexes becoming invalid when deleting and recreating same edge (#3097, #3482)
  • Fixed page cache returning pages currently being flushed
  • Fixed old issue not returning latest page from flush queue
  • Fixed flush of all pages at database closing
  • Removed usage of sun.misc.Unsafe (#1933)
  • Improved performance on retrieving pages + clean shutdown

Console

  • Fixed JSON serialization issues (#3520, #3519)
  • Fixed print of results
  • Fixed SQLSCRIPT variable handling and CONSOLE output

Other

  • Fixed Multi-Release manifest attribute for GraalVM/Truffle support in shaded JARs (#3487)
  • Fixed Neo4j importer handling of multi-labels (#3458)
  • Fixed deploy workflow (#3532)
  • Fixed javadoc plugin in deploy profile with --add-modules jdk.incubator.vector (#3533)
  • Enhanced Python bindings for ArcadeDB (#3466)
  • Moved auto-backup management to plugin manager (#3543)
  • Build warnings and test failures cleanup (#3457, #3465)

📦 Dependencies Updated

Updated 40+ dependencies including security patches.

📝 Full Changelog

Full Changelog: 26.2.1...26.3.1

Closed Issues: 52 issues resolved — see milestone 26.3.1 for details

Don't miss a new arcadedb release

NewReleases is sending notifications on new releases.