Skip to content

selene-db v1.1.0

Choose a tag to compare

@jscott3201 jscott3201 released this 31 May 17:09
· 782 commits to main since this release
c16c0de

The marathon "finish what 1.0 should've been" release. Full changelog: CHANGELOG.md [1.1.0].

Highlights

Architecture — single native engine (no extensions)

  • Vector index externalized to a separate project; planned full-text/BM25 dropped.
  • Procedure-pack system removed; selene-algorithms promoted to a mandatory first-class crate with a native Rust API + one frozen BuiltinProcedureRegistry (5 platform built-ins + 19 algo.*). 6 crates total.

ISO/IEC 39075:2024 conformance

  • Cross-type numeric completeness (Int128 / Uint128 / Decimal) end-to-end — GV13/GV14/GV17 now honest; field-name-keyed RECORD equality (§4.15); set-operation arm name-equality strictness (§14.2). Parity invariant held (equality ≡ hash/group key ≡ ordering).
  • 3VL analyzer parity, full-numeric negate, RETURN UNKNOWN, honest GQLSTATUS error classes.

Durability & reclamation

  • External NodeId/EdgeId ↔ internal RowIndex split, three-step MANIFEST recovery, dedicated audit.log, typed retention + MANIFEST-atomic prune, CORE-internal densify compaction.
  • Multi-writer: single-committer thread + WriteTxn::seal(), WAL group-commit fsync-before-publish barrier.

Pre-release deep-review hardening (PRs #202#215)

  • P1 correctness fixes, hot-path performance pass across all crates, dead-surface teardown, and ~150 new tests (2503 → 2655).

Verification

Full release CI green on Linux + macOS: clippy, nextest (all-features), doctests, cargo-deny, cargo-audit, THIRDPARTY currency, file-size, no-secrets, 5-min parser fuzz.

Library-only (no server/wire format — embedder owns transport, auth, TLS). Dual MIT OR Apache-2.0.