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.

  • The drivers found the bugs this time

    26 August 2026 · Joe Drumgoole

    Summary: The drivers found the bugs this time (v0.6.0b16).

    Six of the nine entries below started as a driver-conformance failure rather than a failing unit test, and two of them could only have been found that way. The C driver asserts on the exact text of the error …

  • Restores stopped writing 2 GB for a 2 MB backup

    23 August 2026 · Joe Drumgoole

    Summary: Restores stopped writing 2 GB for a 2 MB backup (v0.6.0b15).

    A point-in-time restore used to write 2 GB to disk no matter how little data it was restoring. WiredTiger preallocates its log file to 2 GiB, that file is almost entirely zeros, and zeros compress to …

  • Writes got a lot faster, and we built the rig that proved it

    22 August 2026 · Joe Drumgoole

    Summary: Writes got a lot faster, and we built the rig that proved it (v0.6.0b14).

    The block compressor changed from zlib to lz4, and it is the largest single performance change this engine has had. Profiling the daemon under sustained write load found 65% of server CPU inside …

  • Three privilege-escalation holes closed, and the PostgreSQL wire corpus from 10 files to 37

    17 August 2026 · Joe Drumgoole

    Summary: Three privilege-escalation holes closed, and the PostgreSQL wire corpus from 10 files to 37 (v0.6.0b12).

    Three ways a caller could reach data its grants didn't cover are now shut. An aggregation pipeline could sidestep role-based access control outright, so a user with no read grant on a …

  • A silent lost update caught in the act, pipelined batches with real transaction semantics, and query cancellation

    15 August 2026 · Joe Drumgoole

    Summary: A silent lost update caught in the act, pipelined batches with real transaction semantics, and query cancellation (v0.6.0b11).

    The headline of this release is a data-integrity fix that took three CI platforms, a paired A/B sampler, and a deterministic race harness to pin down. Statements a …

  • Large objects over Fastpath, a drop that can't wedge the engine, and TCP_NODELAY everywhere

    13 August 2026 · Joe Drumgoole

    Summary: Large objects over Fastpath, a drop that can't wedge the engine, and TCP_NODELAY everywhere (v0.6.0b10).

    This release closes two of the oldest gaps a PostgreSQL client could hit. The PG server now implements the Large Object API the way pgjdbc's LargeObjectManager (and therefore JDBC Blob/Clob) actually …

  • A kill -9 crash window in the data-nonlogged mode could lose acknowledged writes — fixed

    2 August 2026 · Joe Drumgoole

    Summary: A kill -9 crash window in the data-nonlogged mode could lose acknowledged writes — fixed (v0.6.0b8).

    The opt-in log-only-the-oplog mode (data_nonlogged) wrote its stable marker — the seq recovery replays from — before running the checkpoint it describes. The marker lives in an always-WAL-logged table, so it became crash-durable immediately …

  • Async oplog hardened: transactions can no longer leak ghost events

    1 August 2026 · Joe Drumgoole

    Summary: Async oplog hardened: transactions can no longer leak ghost events (v0.6.0b9).

    The Rust server's opt-in async oplog (RustServer(oplog_async=True) / secantusd-rs --oplog-async) closed out its prototype caveats. The important one was a correctness bug the hardening audit caught: a write inside a multi-document transaction handed its oplog …

  • Log-only-the-oplog becomes crash-safe: replay-on-open recovery lands

    31 July 2026 · Joe Drumgoole

    Summary: Log-only-the-oplog becomes crash-safe: replay-on-open recovery lands (v0.6.0b6).

    The SECANTUS_DATA_NONLOGGED mode — the mongod storage architecture, where only the oplog is WAL-journaled and the data tables are checkpoint-durable — graduates from a measure-only benchmark probe to a recoverable configuration. A periodic stable checkpoint (60s cadence, the mongod default; SECANTUS_CHECKPOINT_SECONDS overrides …

  • The async oplog stack graduates to first-class options

    31 July 2026 · Joe Drumgoole

    Summary: The async oplog stack graduates to first-class options (v0.6.0b7).

    The Rust server's storage write-path modes — the background oplog drainer, non-logged oplog tables, and the mongod-style log-only-the-oplog data mode with its stable-checkpoint cadence — were until now reachable only through process-wide SECANTUS_* environment variables. They are now real, per-store …