Roadmap¶
This roadmap outlines the planned development of Alopex DB from the current state to production readiness.
Current Status¶
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).
v0.4.0 Complete — Published on crates.io & PyPI (January 2026)
Alopex DB v0.4.0 with Server Mode + Async/Stream + DataFrame is complete. HTTP/gRPC API, runtime-agnostic async facade, streaming SELECT, and Polars-compatible DataFrame foundation are ready for use.
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
section Production
v0.5 Durability + JOIN :2026-04, 2026-06
v0.6 WASM Viewer :2026-06, 2026-08
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:
| Crate | Version | Description |
|---|---|---|
| v0.4.0 | Embedded database API | |
| v0.4.0 | SQL parser, planner, executor | |
| v0.4.0 | Core storage engine | |
| v0.4.0 | HTTP/gRPC server | |
| v0.5.0 | Cluster messaging layer |
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.0 | v0.1.0 | v0.4.0 | v0.4.0 | v0.4.0 | v0.5.0 |
| v0.5 | v0.5 | v0.2.0 | v0.5 | v0.5 | - | v0.5.0 |
| v0.6 | v0.6 | v0.3.0 | v0.6 | v0.6 | - | v0.5.0 |
| v0.7 | v0.7 | v0.4.0 | v0.7+ | v0.7 | - | v0.5+ |
| v1.0 | v1.0 | v1.0 | v1.0 | v1.0 | - | v0.8 |
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: Durability & WASM (v0.5 - v0.6)¶
v0.5 — Durability + JOIN¶
Status: Planned Target: Q2 2026
- WAL/Crash recovery hardening
- Backup and restore
- JOIN support (inner, left, right, full)
- GROUP BY / Aggregation
- Prometheus metrics
- Structured logging
v0.6 — WASM Viewer¶
Status: Planned Target: Q3 2026
Browser-based read-only viewer for database snapshots.
-
wasm32-unknown-unknowntarget - Pre-built SSTable loader
- IndexedDB caching
- SQL SELECT only
- Vector Search (Flat only)
- npm package (
@alopex-db/wasm)
import { AlopexViewer } from '@alopex-db/wasm';
const viewer = await AlopexViewer.loadSnapshot('/data/snapshot.alopex');
const results = await viewer.query('SELECT * FROM products LIMIT 10');
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 | Planned | 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 |
|---|---|---|
| v0.1.0 | DF-0 | DataFrame/Series types, Arrow integration |
| v0.2.0 | DF-1 | CSV/Parquet I/O, select/filter/group_by, LazyFrame |
| v0.3.0 | DF-2 | JOIN, sort, fill_null, Predicate Pushdown |
| v0.4.0 | DF-3 | Window functions, pivot/unpivot, str/dt namespaces |
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.4 | Phase 1+ | Vector/HNSW API extensions | Planned |
| v0.3.5 | Phase 1+ | NumPy integration (zero-copy arrays) | Planned |
| v0.4.0 | Phase 1+ | Catalog API (Polars Unity Catalog compatible) | Planned |
| v0.5.0 | Phase 2 | DataFrame API MVP (via alopex-dataframe) | Planned |
| v0.6.0 | Phase 2 | DataFrame extended features | Planned |
| v0.7.0 | Phase 3 | Client API (Server connection) | 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-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
- 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.