Release History¶
The top-level Alopex DB, Skulk, and Chirps repositories use independent version series. Within Alopex DB, all public Rust crates and the Python package use one aligned version. This page records the latest published releases as verified from each repository on September 4, 2026. Follow the linked release and changelog for the complete compatibility notes.
Current Releases¶
| Project | Latest | Published | Highlights |
|---|---|---|---|
| Alopex DB | See release | See release notes and changelog | |
| Skulk | v0.4.0 | Jul 31, 2026 | Embedded PromQL and SQL-TS query engine, Arrow result streams, pruning, and out-of-order policy |
| Chirps | v0.6.3 | Aug 11, 2026 | Memory-contract and mTLS conformance on the bounded QUIC transport |
Alopex DB v0.8 Series¶
v0.9 is frozen
v0.8.7 through v0.8.10 are published. The active publication order continues with v0.8.11. v0.9 development and release operations resume only after that entire train is published and post-publication verification succeeds.
v0.8.10 — Types, nested values, and full-text search¶
- Added exact
DECIMAL/NUMERICwith up to 38 digits, stored as a signed 128-bit coefficient and a scale, and carried through Arrow/ParquetDecimal128, Pythondecimal.Decimal, and decimal CLI output. - Added native
DATE,TIME, andINTERVALvalues with month/day/microsecond components kept separate, plusMAKE_*,AGE,DATE_ADD,DATE_SUB, and timestampGENERATE_SERIES. The existingTIMESTAMPrepresentation is unchanged. - Added a native
JSONtype (JSONBis a dialect alias) with->,->>,#>,#>>,JSONB_SET/JSONB_INSERT, theJSONB_BUILD_*constructors, andJSONB_AGG/JSONB_OBJECT_AGG. The earlier SQLite-compatible JSON-on-TEXTfunctions remain compatible. - Added nested
ARRAY/LIST,MAP, andSTRUCTvalues with subscripts, slices,UNNEST … WITH ORDINALITY, theARRAY_*scalar catalog, andARRAY_AGG. - Added deterministic local full-text search:
TO_TSVECTOR,TO_TSQUERY,PLAINTO_TSQUERY,WEBSEARCH_TO_TSQUERY,TS_RANK,TS_HEADLINE, andFTS_SEARCH, with transactionalUSING FTSindexes that do not change result semantics. - The v0.8 type capability gate records every v0.8.10 family as complete. The distributed execution catalog keeps non-portable JSON, temporal, nested, and full-text functions local-only.
- Updated the Nim parser wire contract to
0.19.0.
v0.8.9 — Portable SQL and KV functions¶
- Added portable UTC timestamp, math, string, regex, statistics, regression, value, bitwise, and boolean aggregate functions.
- Added bounded byte-glob and byte-regex KV key search across embedded, async, HTTP, and CLI surfaces.
- Updated the Nim parser wire contract to
0.15.0.
v0.8.8 — Portable relational grammar and durability fixes¶
- Added portable relational grammar including LATERAL, grouping sets, aggregate filters,
DISTINCT ON, standard pagination, andTRY_CAST. - Added the Python server client and verified mode parity from published packages.
- Added single-file convergence and rejected concurrent opens of one data directory.
v0.8.7 — CTE and window correctness¶
- Added recursive CTEs, CTE column-name lists,
LAG/LEAD, explicit window frames, and grouped-window composition. - Mapped bounded execution exhaustion to stable public error code
ALOPEX-E003.
v0.8.6 — Single-node SQL correctness¶
- Added projection-alias resolution in
ORDER BYandHAVING, with explicit scope errors where aliases are not visible. - Added
REAL, searched/simpleCASE, andUNION/INTERSECT/EXCEPT. - Added non-recursive CTEs and basic aggregate/ranking window functions.
- Rebuilt every native Nim parser asset from the v0.8.6 tag while retaining parser contract
0.4.0.
v0.8.5 — Public surface and release hardening¶
- Restored release parity for Python vector, HNSW, SQL-stream, and scan APIs.
- Hardened parser asset assembly, wheel linkage, security gates, and post-publication verification.
v0.8.4 — Parser contract 0.4.0¶
- Added
CREATE CONTINUOUS AGGREGATEto the parser contract. - Shipped target-qualified parser assets and checksum manifests for supported Linux, macOS, and Windows targets.
v0.8.3 — SQL correctness and name resolution¶
- Numeric JOIN keys now match by value across integer and floating-point types.
USINGandNATURAL JOINkeys remain correctly merged across chained joins.- Duplicate aliases, quoted/unquoted identifier rules, derived-table scope, and parser diagnostic spans are handled consistently.
- Wide-schema and deeply nested name resolution were optimized.
v0.8.2 — SQL correctness¶
- Fixed
TIMESTAMPinput, numeric promotion, integerSUM,CAST,IN,BETWEEN, subquery scope, andRIGHT/FULLJOIN merged keys. - Added
INSERT ... SELECT, qualified wildcards, and statement-stableNOW(). SUM(INTEGER)now returnsBIGINT; this is a documented result-type change.
v0.8.1 — Parser contracts¶
- Added PromQL and SQL-TS contracts to Nim parser ABI 0.2.0.
- Hardened Windows release coverage for Python, streaming, and server surfaces.
v0.8.0 — Cluster-aware streaming¶
- Added cluster metadata, lifecycle, routing diagnostics, and authenticated distributed-read contracts.
- Added multi-statement and streaming SQL over HTTP, gRPC, and CLI.
- Added bounded CSV/Parquet DataFrame streaming and sync/async Python APIs.
- Single-node remains the default; remote execution and distributed transactions are not part of the v0.8 supported scope.
Skulk v0.4.0¶
QueryEngineexecutes PromQL instant/range queries, SQL-TS, and pre-built logical plans without requiring an HTTP server; results stream as ArrowRecordBatchvalues.- PromQL covers selectors, ranges, offsets, arithmetic, core range functions, classic histogram quantiles, and grouped aggregates. SQL-TS covers projection, filtering, ordering, aggregates,
TIME_BUCKET,RATE,DELTA,DERIVATIVE,FIRST, andLAST. StorageReadercombines pending and durable latest-write-wins data with time, tag, and field pruning. v0.3 WAL, manifest, and Parquet data remains readable.- The default build enables PromQL and SQL-TS through the Nim parser. A
--no-default-featurespure-Rust embedded profile remains available. - HTTP query endpoints are still planned for v0.6; the text frontends implement documented subsets and reject unsupported semantics explicitly.
Chirps v0.6.3¶
- Restores conformance with the memory and mTLS specifications.
- Builds on v0.6.2's per-connection memory bounds in the production QUIC path.
-
Retains the v0.6.1 OpenRaft-compatible storage/node APIs, hardened SWIM, resumable file transfer, and observability surface.
-
MessageProfile::Durablestill awaits the planned Iggy backend.