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.

The async oplog stack graduates to first-class options

31 July 2026 · Joe Drumgoole · Releases

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 options at every layer: a StorageOptions struct on the storage crate, RustServer(oplog_async=…, oplog_nonlogged=…, data_nonlogged=…, checkpoint_seconds=…) kwargs on the embedded handle, and --oplog-async / --oplog-nonlogged / --data-nonlogged / --checkpoint-seconds flags plus matching [storage] TOML keys on the secantusd-rs daemon. Unset options defer to the environment variables, so existing env-driven workflows are unchanged; an explicit option wins for that store only.

Two async-mode gaps closed on the way: an async store now prunes its oplog opportunistically from write volume (the every-1000-emits cadence the sync path always had — previously an async store only pruned on explicit calls), and create_archive drains the oplog queue before its checkpoint so a backup taken under the async drainer can no longer miss acknowledged writes.

Full release notes on GitHub · Install from PyPI · Tag