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.

Real transactions, a pure-Python core, and the full Mongo CLI toolchain

15 June 2026 · Joe Drumgoole · Releases

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 real multi-document transactions — single-node, WiredTiger-backed, with startTransaction / commitTransaction / abortTransaction driving an actual WT user transaction under the hood, not a stub. Alongside it, the Python server is now pure Python with no Rust dependency in the request path: the operator engines run as plain Python again, and numeric types (int32 vs int64 vs double vs Decimal128) round-trip through updates and aggregation exactly as mongod returns them.

Change streams grew up this cycle. They now report create, modify, and richer DDL events; a resumed stream returns its backlog on open instead of starting empty; and the internal oplog is queryable as a tailable local.oplog.rs capped collection, so replication-style tailing works the way drivers expect. The whole MongoDB CLI toolchain — mongosh, mongodump, mongorestore, and friends — now runs against an embedded SecantusDB.

Underneath, a broad sweep of indexing and conformance work landed: clustered collections, OP_MSG exhaust cursors, cursor min() / max() index bounds, partial indexes serving range-on-indexed-field queries, parse-time update validation, and $exists: true riding a sparse index at IXSCAN instead of scanning the collection. A shutdown-race fix makes server teardown drain its in-flight connections cleanly before closing storage. The pymongo conformance gauge sits at 99.2%, with the remaining failures all features outside a single node's scope.

Full release notes on GitHub · Install from PyPI · Tag