Beta v0.5.1b24 — 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.

Java gauge scope made honest — 18 of 112 driver-sync classes, five named follow-ups

12 May 2026 · Joe Drumgoole · Releases

Summary: Java gauge scope made honest — 18 of 112 driver-sync classes, five named follow-ups (v0.5.1b1).

The mongo-java-driver validation report has been showing a flat 100% pass rate, which is true on what it ran — but what it ran was 15 of the 112 test classes in driver-sync/src/test/functional/. A 100% on a curated subset is not the same number as a 100% on the whole tree. v0.5.1b1 fixes both halves of that.

The report now opens with a ## Scope section that states the denominator up front: how many classes the gauge actually covers, what fraction of the upstream functional surface that is, and what categories are intentionally out (encryption, atlas-search, kotlin / scala / reactive wrappers, OCSP / DNS, retryable writes, monitoring). The count is computed at render time from java_validation.include_modules.INCLUDE plus an upstream filesystem walk, so it stays accurate as the include set widens.

The include set itself grew by three unified spec runners — ChangeStreamsTest, UnifiedWriteConcernTest, and VersionedApiTest — each exercising wire surface SecantusDB now ships. New coverage: 18 of 112 (~16%). Run: 4204 / 5 / 417, 99.9% pass rate on the included subset. The five new failures are named concretely in the report: a CommandEvents-counting test in ContextProviderTest, MapReduce default-WC (mapReduce stays unimplemented per the backlog), two VersionedApiTest scenarios that assert the driver appends a declared apiVersion to a db-level aggregate and distinct, and a ChangeStreamsTest scenario about the watch-helper's exception shape on single-server topology. Each is a real follow-up rather than something the 100% number was hiding.

The version skips from 0.5.0b18 to 0.5.1b1 — patch bump rather than another beta tick on the same 0.5.0 line — to mark the shift from "narrow include set" to "wider, honest, with named gaps".

Full release notes on GitHub · Install from PyPI · Tag