Compound-index $lookup + Java smoke matrix
Summary: $lookup now exploits compound non-multikey indexes whose leading field matches foreignField, and the Java cross-driver smoke matrix is complete (v0.3.0a74).
v0.3.0a74 widens $lookup's index-acceleration window. Previously the per-outer-doc IXSCAN path only fired when the foreign collection had a single-field index on foreignField exactly; otherwise the stage fell back to materialising the foreign side in memory and hash-joining. With this release, any compound non-multikey index whose leading field is foreignField is also a candidate — so {a:1, b:1} on the foreign collection accelerates a $lookup joining on a, just like a dedicated single-field index would. Real workloads tend to already have compound indexes that satisfy this prefix; the change keeps the join doing real index point-lookups instead of paying the materialise-then-scan cost.
The Java cross-driver smoke matrix also lands in v0.3.0a74. Fifteen end-to-end features now run through mongo-java-driver 5.2.1 alongside the existing Go and Node coverage — connection handshake, CRUD, cursors, aggregation, change streams, the lot. Setting it up surfaced a real fcntl.flock-based race in a parallel Gradle test helper, which got fixed along the way; flaky tests are bugs, and that one no longer flakes. Three drivers, one wire protocol, one set of conformance gates.