Blog
Updates, design notes, and deep dives from the SecantusDB project.
-
Point-in-time recovery, a SQL server with its own gauges, and operator parity across both servers
Summary: Point-in-time recovery, a SQL server with its own gauges, and operator parity across both servers (v0.5.4b235).
This is the largest SecantusDB release to date — a month of parallel work, 125 changelog entries. The headline capability is point-in-time recovery: every write already flowed through the oplog, and
secantusAdmin … -
`find()` with no sort now returns documents in insertion order
Summary:
find()with no sort now returns documents in insertion order (v0.5.3b13).An unsorted
find()now returns documents in insertion order, matchingmongod's natural (storage) order. Previously SecantusDB returned them in_idorder — which coincides with insertion order for the default monotonicObjectId_ids, but diverged … -
Real transactions, a pure-Python core, and the full Mongo CLI toolchain
Summary: The first PyPI release since v0.5.2b7 bundles real multi-document transactions, a Rust-free pure-Python core, richer change streams, and a wave of indexing and conformance work (v0.5.3b7).
This is the first release on PyPI since v0.5.2b7, and it carries a lot. The headline is …
-
mongo-rust-driver lands as the 6th conformance gauge — 24/24 at first check
Summary: mongo-rust-driver lands as the 6th conformance gauge — 24/24 at first check (v0.5.2b7).
The Rust driver joins SecantusDB's driver-conformance lineup as the sixth gauge alongside pymongo, mongo-go-driver, mongo-node-driver, mongo-java-driver, and mongo-ruby-driver. The runner spawns SecantusDB on a fresh ephemeral port and runs
cargo test --lib -p mongodb … -
$rank for $setWindowFields, apiStrict distinct rejection, +80 pymongo tests
Summary: $rank for $setWindowFields, apiStrict distinct rejection, +80 pymongo tests (v0.5.2b5).
Three slices land on top of last week's 0.5.2b1, each one closing a gap the previous release explicitly deferred.
$setWindowFieldsgains the three rank functions —$rank(1-indexed with gaps after ties:[10, 20, 20, 30 … -
Collation reaches every read path; `$unionWith` / `$redact` / `$setWindowFields` land
Summary: Collation reaches every read path;
$unionWith/$redact/$setWindowFieldsland (v0.5.2b1).Eleven slices in one beta. The collation domain — the per-query
collationargument that mongod's drivers carry on every CRUD call — now reaches every read path: single-field equality / range /$in(b25), compound bare-equality and prefix + trailing-operator (b27), and … -
`secantusdb.toml` config file, native checkpoint restore, j:true durability knob
Summary:
secantusdb.tomlconfig file, native checkpoint restore, j:true durability knob (v0.5.1b20).Two production-shaping slices land together. A new
secantusdb.tomlconfiguration file exposes every CLI flag plus the WT and oplog knobs that were previously hard-coded — includingcache_size(so you can size the engine for your … -
Native TLS + mTLS + per-write `j:true` — production gaps closed
Summary: Native TLS + mTLS + per-write
j:true— production gaps closed (v0.5.1b23).Three slices land together against the production-readiness gaps called out in the
docs/production.mdpage.[tls] cert_file+[tls] key_file(insecantusdb.toml) or--tls-cert-file/--tls-key-file(CLI) makes the daemon wrap every accepted socket in TLS before … -
Geo: legacy `$near` sibling form, 2d quadtree covering, java gauge
Summary: Geo: legacy
$nearsibling form, 2d quadtree covering, java gauge (v0.5.1b24).Three geo improvements that close the long-standing tail of the phase 1/2 geo work and lift the mongo-java-driver gauge into the geo surface for the first time.
Legacy mongod 2d shape —
{geo: {$near: [x, y … -
Native WT-checkpoint backups, admin UI /oplog page, and change-stream fidelity wins
Summary: Native WT-checkpoint backups, admin UI /oplog page, and change-stream fidelity wins (v0.5.1b18).
The natural follow-on to v0.5.1b17's
local.oplog.rssynthetic collection lands as the admin UI/oplogpage: a paged entry browser with a window selector (last 50 / 500 / 5000),op-checkbox filter (i …