Blog
Updates, design notes, and deep dives from the SecantusDB project.
-
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 … -
`local.oplog.rs` queryable from pymongo, `$merge` pipeline form + `$fill` stage + `$$var.path` resolution
Summary:
local.oplog.rsqueryable from pymongo,$mergepipeline form +$fillstage +$$var.pathresolution (v0.5.1b17).Real mongod exposes the oplog as a queryable collection at
local.oplog.rs— pymongo clients candb.oplog.rs.find()against it the same way they would against any collection. Until this … -
Sidebar grouping, auto-refreshing connections and cursors, Roles in the nav
Summary: Sidebar grouping, auto-refreshing connections and cursors, Roles in the nav (v0.5.1b16).
The
/connectionsand/cursorsadmin pages have always been live-data views — they readcurrentOpand render the connection / cursor list each time the page is requested — but they didn't refresh. The dashboard polls 1 Hz over … -
One scaffold for every confirmation modal — escape, focus-trap, restored focus
Summary: One scaffold for every confirmation modal — escape, focus-trap, restored focus (v0.5.1b15).
The
secantus-adminUI has nine confirmation / edit modals: drop-database, drop-collection, drop-index, drop-user, change-password, manage-roles, edit-document, delete-document, kill-cursor. They were assembled at slightly different times and drifted in five different ways — different destructive-button copy ("Drop" vs "Drop …