Beta Past initial proving, but the Python API surface may still shift before 1.0. WiredTiger on-disk format is stable, but there's no migration tool yet — don't put production data here.

Blog

Updates, design notes, and deep dives from the SecantusDB project.

  • secantus-pg 0.1.0-beta.14: a faster build, and a benchmark that was unfair to PostgreSQL

    13 October 2026 · Joe Drumgoole

    Summary: secantus-pg 0.1.0-beta.14 answers the same as 0.1.0-beta.13 and is built differently: with link-time optimisation, and for the released binaries a profile. Eight clients selecting by primary key get 34,288 statements a second from 0.1.0-beta.13 and 41,038 from this …

  • secantus-mdb 0.5.3-beta.188 makes $merge store what mongod stores

    13 October 2026 · Joe Drumgoole

    Summary: secantus-mdb 0.5.3-beta.188 fixes $merge, which merged nested documents field by field and stored a different document from mongod, and stops $out and $merge running inside $facet, $lookup and $unionWith.

    Upgrade if you run secantusd-rs and your pipelines end in $merge. Its default mode stored a different …

  • secantus-mdb 0.5.3-beta.187 refuses a duplicate document _id and keeps a document a $merge could not replace

    12 October 2026 · Joe Drumgoole

    Summary: secantus-mdb 0.5.3-beta.187 fixes two bugs that left the wrong documents in a collection: a duplicate _id written as a different number type, and a $merge replacement that deleted the document it could not replace.

    Upgrade if you run secantusd-rs. This release fixes two bugs that left …

  • secantus-pg 0.1.0-beta.13: every built-in function, checked against PostgreSQL

    12 October 2026 · Joe Drumgoole

    Summary: secantus-pg 0.1.0-beta.13 fixes wrong answers that no test had asked for. A new probe calls every built-in function in PostgreSQL 15's catalog on PostgreSQL and on the Rust PostgreSQL server. Of the 1,935 functions it can call, 619 answered the same before this release and …

  • secantus-mdb 0.5.3-beta.186 stops an update rewriting sub-documents shaped like extended JSON

    12 October 2026 · Joe Drumgoole

    Summary: secantus-mdb 0.5.3-beta.186 fixes an update that rewrote stored sub-documents shaped like extended JSON, stores new fields in mongod's order, and corrects which array element the positional operator writes.

    Upgrade if you run secantusd-rs. This release fixes an update that changed a field it did not name …

  • secantus-mdb 0.5.3-beta.185 refuses the database names and DDL arguments mongod refuses

    12 October 2026 · Joe Drumgoole

    Summary: secantus-mdb 0.5.3-beta.185 refuses invalid database names, makes dropDatabase take only 1, stops a collMod dry run from applying its change, and gives dbStats, collStats and listDatabases mongod's fields.

    If your tests create and drop databases or collections on secantusd-rs, upgrade. Several things in this release could …

  • secantus-mdb 0.5.3-beta.184 makes explain follow mongod's planner

    12 October 2026 · Joe Drumgoole

    Summary: secantus-mdb 0.5.3-beta.184 reports the plan mongod reports from explain, with index bounds and the stages of count, distinct and the write commands, and refuses an unknown query operator on an empty collection.

    If your tests run a query against an empty collection on secantusd-rs, upgrade. One …

  • secantus-mdb 0.5.3-beta.183 holds change streams to mongod's rules

    12 October 2026 · Joe Drumgoole

    Summary: secantus-mdb 0.5.3-beta.183 checks what $changeStream is given, refuses a resume token it cannot find, names the transaction on a transaction's events, and reports an implicit create, after a comparison of the change-stream commands with mongod.

    If your tests resume change streams on secantusd-rs, upgrade. Two things …

  • secantus-mdb 0.5.3-beta.182 gives time-series collections their buckets and makes _id respect the collation

    12 October 2026 · Joe Drumgoole

    Summary: secantus-mdb 0.5.3-beta.182 shows a time-series collection's buckets, makes _id unique by the collection's default collation, stops a failed $out from destroying its target, and adds convertToCapped, cloneCollectionAsCapped, compact and reIndex.

    Two things in this release could leave a test passing on wrong data.

    • A failed $out …
  • secantus-pg 0.1.0-beta.12: pg_hba.conf, revocation lists and a reload

    11 October 2026 · Joe Drumgoole

    Summary: secantus-pg 0.1.0-beta.12 reads a pg_hba.conf, so the Rust PostgreSQL server can hold each user, database and address to its own login rule. It also refuses a revoked client certificate, maps a certificate to roles through a pg_ident.conf, and re-reads all of these files without …