Roadmap¶
This roadmap outlines the planned development of Alopex DB from the current state to production readiness.
Current Status¶
v0.5.0 Released — Published on crates.io (January 2026)
Alopex DB v0.5.0 is complete with GROUP BY/Aggregation and DataFrame P1 (JOIN/sort/null processing). All core crates updated to v0.5.0.
alopex-cli v0.4.2 Released (January 2026)
alopex-cli v0.4.2 with TUI as default is complete. All commands now support TUI mode, Admin TUI for lifecycle operations, mTLS certificate validation, and SELECT literal support (without FROM clause).
Timeline¶
gantt
title Alopex DB Development Timeline
dateFormat YYYY-MM
axisFormat %Y-%m
section Foundation
v0.1-v0.2 Core :done, 2025-01, 2025-10
v0.3 SQL + HNSW :done, 2025-10, 2025-12
v0.3.3 Python + CLI :done, 2025-12, 2025-12
section Server & DataFrame
v0.4 Server + DataFrame :done, 2026-01, 2026-01
v0.5 GROUP BY + JOIN :done, 2026-01, 2026-01
section Production
v0.6 Practical Foundation :2026-04, 2026-06
section Distributed
v0.7 Cluster-aware :2026-08, 2026-10
v0.8 Metadata Raft :2026-10, 2026-12
v0.9 Multi-Raft :2027-01, 2027-02
section GA
v0.10 Hardening :2027-02, 2027-03
v1.0 GA :milestone, 2027-03, 0d Published Crates¶
The following crates are available on crates.io:
Version Compatibility Matrix¶
| Alopex DB | alopex-core | alopex-dataframe | alopex-sql | alopex-embedded | alopex-py | Chirps |
|---|---|---|---|---|---|---|
| v0.3 | v0.3.0 | - | v0.3.0 | v0.3.0 | - | v0.5.0 |
| v0.3.3 | v0.3.3 | - | v0.3.0 | v0.3.3 | v0.3.3 | v0.5.0 |
| v0.4.0 | v0.4.0 | v0.1.0 | v0.4.0 | v0.4.0 | v0.4.0 | v0.5.0 |
| v0.4.2 | v0.4.2 | v0.1.0 | v0.4.2 | v0.4.2 | v0.4.0 | v0.5.0 |
| v0.5.0 | v0.5.0 | v0.2.0 | v0.5.0 | v0.5.0 | v0.4.0 | v0.5.1 |
| v0.6 | v0.6 | v0.3.0 | v0.6 | v0.6 | - | v0.6 |
| v0.7 | v0.7 | v0.4.0 | v0.7+ | v0.7 | - | v0.6 |
| v1.0 | v1.0 | v1.0 | v1.0 | v1.0 | v1.0 | v0.9 |
alopex-py Independent Versioning
alopex-py follows its own versioning scheme independent of the Rust workspace. See alopex-py Roadmap for details.
Phase 1: Foundation (v0.1 - v0.2)¶
Status: Complete
v0.1 — Embedded KV Core¶
- LSM-Tree storage engine
- Write-Ahead Log (WAL) with crash recovery
- Key-Value API (
open/put/get/delete) - Transactions (
begin/commit/rollback) - MVCC with Snapshot Isolation
v0.2 — Vector Core + Columnar¶
- Vector type (
VECTOR(dimension)) - Flat search (cosine, L2, inner product)
- Columnar segment storage with compression
- In-memory mode support
- Vector delete/compaction
Phase 2: SQL & HNSW (v0.3)¶
Status: Complete — crates.io Published
v0.3 — SQL Frontend + HNSW Index¶
The first public release on crates.io with full SQL support and HNSW indexing.
Completed Features¶
- SQL Parser (DDL: CREATE/DROP TABLE/INDEX, DML: SELECT/INSERT/UPDATE/DELETE)
- Query Planner with Catalog and LogicalPlan
- SQL Executor (iterator-based execution)
-
vector_similarity()function with Top-K optimization - HNSW Index for high-performance similarity search
- Columnar COPY/Bulk Load (Parquet/CSV → ColumnarSegment)
- Embedded Integration (
Database::execute_sql,Transaction::execute_sql)
SQL Examples¶
-- Create table with vector column
CREATE TABLE documents (
id INTEGER PRIMARY KEY,
content TEXT,
embedding VECTOR(1536)
);
-- Insert with vector
INSERT INTO documents (id, content, embedding)
VALUES (1, 'Hello world', [0.1, 0.2, ...]);
-- Hybrid search with vector similarity
SELECT id, content, vector_similarity(embedding, ?) AS score
FROM documents
ORDER BY score DESC
LIMIT 10;
-- Create HNSW index
CREATE INDEX idx_emb ON documents USING HNSW (embedding);
Phase 3: Python & Server (v0.3.3 - v0.4)¶
v0.3.3 — Python Wrapper (alopex-py)¶
Status: Complete — PyPI Published Released: December 2025
Python bindings via PyO3 for the embedded database.
Features¶
- PyO3 module structure with error handling
-
Database/Transactionbindings - SQL API bindings (
execute_sql,QueryResult) - Type stubs (
.pyifiles) for IDE support - CI/CD with maturin + pytest + TestPyPI verification
- Vector/HNSW API bindings — planned for v0.3.4
- NumPy integration (zero-copy arrays) — planned for v0.3.5
Preview¶
import alopex
# Open database
db = alopex.Database.open("./my_data")
# Execute SQL
results = db.execute_sql(
"SELECT * FROM docs WHERE vector_similarity(embedding, ?) > 0.8",
[query_embedding]
)
# HNSW search
similar = db.search_hnsw("docs", query_embedding, k=10)
for doc_id, score in similar:
print(f"{doc_id}: {score:.4f}")
v0.4.0 — Server Mode + DataFrame¶
Status: Complete — crates.io Published Released: January 2026
Standalone server and Polars-compatible DataFrame API foundation.
Server Features¶
-
alopex-serverbinary with HTTP/gRPC API - SQL API (DDL/DML/SELECT with streaming)
- Vector API (HNSW/Flat search)
- Session Manager with TLS support
- Observability (metrics, tracing)
- Runtime-agnostic async facade with tokio adapter
DataFrame Features (alopex-dataframe v0.1.0)¶
-
DataFrame/LazyFrame/Exprtypes - I/O:
read_csv,read_parquet,scan_*variants - Operations:
select,filter,with_columns - Aggregations:
group_by,agg,sum,mean, etc. - Lazy evaluation with query optimization
- Predicate/Projection Pushdown
DataFrame Preview¶
use alopex_dataframe::{DataFrame, col, lit};
let df = DataFrame::read_parquet("data.parquet")?;
let result = df
.lazy()
.filter(col("score").gt(lit(0.5)))
.select([col("id"), col("content")])
.collect()?;
Phase 4: GROUP BY, DataFrame P1, Practical Foundation (v0.5 - v0.6)¶
v0.5 — GROUP BY + DataFrame P1¶
Status: Complete — crates.io Published Released: January 2026
- GROUP BY / Aggregation (alopex-sql v0.5.0)
- DataFrame P1: JOIN (inner, left, right, full, semi, anti)
- DataFrame P1: sort / head / tail / unique
- DataFrame P1: fill_null / drop_nulls / null_count
- Server API extensions (alopex-server v0.5.0)
- WAL/Crash recovery hardening — planned for v0.5.x
- Performance benchmarks — planned for v0.5.x
v0.6 — Embedded/Server Practical Readiness + SQL JOIN/Subquery¶
Status: Planned Target: Q2 2026
Ship the practical core first: embedded reliability, server operability, SQL JOIN/Subquery, and DataFrame/Python readiness.
- SQL JOIN support (alopex-sql v0.6)
- SQL Subquery support
- DataFrame P2: cast / pivot / unpivot / window functions
- Embedded durability hardening (WAL/crash recovery path)
- Server operation hardening (backpressure/timeout/observability)
- Python API stability for production workflows
WASM/web runtime support is deferred and will be re-evaluated after v1.0 based on adoption and product priorities.
Phase 5: Distributed (v0.7 - v0.9)¶
v0.7 — Cluster-Aware¶
Status: Planned Target: Q4 2026 Depends on: Chirps v0.3
-
alopex-clustermodule - Chirps membership integration
- Node discovery and events
- Logical sharding design
v0.8 — Metadata Raft¶
Status: Planned Target: Q4 2026 Depends on: Chirps v0.6
- Metadata Raft Group
- MultiRaftManager integration
- Shard/range metadata management
v0.9 — Multi-Raft + CRDT¶
Status: Planned Target: Q1 2027 Depends on: Chirps v0.7
- Multi-Raft (range partitioning)
- CRDT (Counter, Set for eventual consistency)
- Changefeed via Durable profile
- Distributed transactions
Phase 6: Production (v0.10 - v1.0)¶
v0.10 — Hardening¶
Status: Planned Target: Q1 2027
- Single-node regression suite
- Cluster consistency tests
- Partition/recovery tests
- Configuration freeze
- API stability guarantee
v1.0 — General Availability¶
Status: Planned Target: Q1 2027
- 3-10 node production support
- Rolling upgrades
- Complete documentation
- API/ABI compatibility tests
- Federation support
Chirps Roadmap¶
Alopex Chirps (cluster messaging layer) has its own development track:
| Version | Status | Features |
|---|---|---|
| v0.1-v0.3 | Gossip, SWIM, Membership API | |
| v0.4 | Raft-ready transport, QoS streams | |
| v0.5 | Raft Consensus API, WalRaftStorage | |
| v0.5.1 | File Transfer API | |
| v0.6 | Planned | Multi-Raft, TSO, Observability |
| v0.7+ | Planned | IggyBackend, Durable profile |
alopex-dataframe Roadmap¶
Polars-compatible DataFrame engine in pure Rust:
| Version | Phase | Features | Status |
|---|---|---|---|
| v0.1.0 | DF-0 | DataFrame/Series types, Arrow integration, CSV/Parquet I/O | |
| v0.2.0 | DF-1 | JOIN (all types), sort/head/tail/unique, fill_null/drop_nulls | |
| v0.3.0 | DF-2 | cast, pivot/unpivot, window functions (over, rolling, shift, rank) | Planned |
| v0.4.0 | DF-3 | str.* namespace, dt.* namespace, list.* + explode/implode | Planned |
| v0.5.0 | DF-4 | Streaming execution, CSE optimization, concat | Planned |
alopex-py Roadmap¶
Python bindings with NumPy and DataFrame support. alopex-py follows its own versioning scheme independent of the Rust workspace.
| Version | Phase | Features | Status |
|---|---|---|---|
| v0.3.3 | Phase 1 | Database/Transaction/SQL basic API | |
| v0.3.5 | Phase 1+ | NumPy integration (zero-copy arrays + GIL release) | |
| v0.4.0 | Phase 1+ | Catalog API (Polars Unity Catalog compatible) | |
| v0.5.0 | Phase 2 | DataFrame API MVP (via alopex-dataframe v0.2) | Planned |
| v0.6.0 | Phase 2 | DataFrame extended features (P2) | Planned |
| v0.7.0 | Phase 3 | DataFrame namespaces (str/dt/list) | Planned |
| v1.0.0 | GA | Polars-compatible DataFrame + API stabilization | Planned |
Contributing¶
We welcome contributions! Priority areas:
| Area | Priority | Difficulty |
|---|---|---|
| Documentation | High | Easy |
| Test coverage | High | Medium |
| Python bindings | High | Medium |
| DataFrame operations | Medium | Medium |
| SQL parser extensions | Medium | Hard |
| Vector search optimizations | Medium | Hard |
Changelog¶
Recent Updates¶
- 2026-01-29: v0.5.0 released — GROUP BY/Aggregation, DataFrame P1 (JOIN/sort/null), Server API extensions published on crates.io
- 2026-01-24: alopex-cli v0.4.2 released — TUI default, Admin TUI, security fixes, SELECT literal support
- 2026-01-14: v0.4.0 Server + DataFrame published on crates.io
- 2026-01-01: alopex-chirps v0.5.1 released — File Transfer API
- 2025-12-27: v0.3.3 alopex-py published on PyPI
- 2025-12: v0.3 SQL Frontend + HNSW published on crates.io
- 2025-11: HNSW index implementation complete
- 2025-10: alopex-sql Parser/Planner/Executor complete
- 2025-09: Columnar-based Vector Store complete
- 2025-08: LSM-Tree file mode complete
- 2025-06: In-memory mode complete
- 2025-01: Project started
For detailed changes, see the GitHub Releases.