v0.5.3b7
Pre-release
Pre-release
What's Changed
- docs: capture sparse-index vs $exists semantics (MongoDB / DocumentDB) by @jdrumgoole in #5
- Add design plan for connection-handling thread pool by @jdrumgoole in #6
- Design docs: connection-handling thread pool + free-threaded Python spike by @jdrumgoole in #7
- Add plan for rewriting the server core in Rust by @jdrumgoole in #8
- Rust accelerator core: leaf engines + aggregation pipeline, GIL release, batched seam by @jdrumgoole in #9
- packaging: ship the Rust core as an optional companion package (secantus[rust]) by @jdrumgoole in #10
- rust: split core into pure-Rust engine lib + thin PyO3 bindings crate by @jdrumgoole in #11
- phase 4: WiredTiger FFI foundation crate (secantus-wt) by @jdrumgoole in #12
- phase 4 sub-phase 1: Rust Storage CRUD core (secantus-storage) by @jdrumgoole in #13
- phase 4: PyO3 exposure of the Rust storage (secantus-storage-py) by @jdrumgoole in #14
- phase 4 packaging: bundle the Rust storage engine behind an off-by-default flag by @jdrumgoole in #16
- phase 4 packaging: macOS + Windows flag-on storage-engine builds by @jdrumgoole in #17
- Phase 4 sub-phase 2: Rust storage secondary-index layer (+ CI) by @jdrumgoole in #18
- Phase 4 sub-phase 3: Rust oplog + change-stream storage layer by @jdrumgoole in #19
- Phase 4 geo-1/1b: geospatial query operators in the Rust query engine by @jdrumgoole in #20
- Phase 4 geo-2: 2d geohash index in the Rust storage engine by @jdrumgoole in #21
- Phase 4 geo-3: 2dsphere S2 cell index in the Rust storage engine by @jdrumgoole in #22
- Phase 4 sub-phase 5b: collection/database lifecycle in the Rust storage engine by @jdrumgoole in #24
- Phase 4 sub-phase 5a: write path (update/delete/count) in the Rust storage engine by @jdrumgoole in #23
- Phase 4 sub-phase 5c: collection stats/introspection in the Rust storage engine by @jdrumgoole in #25
- ci: bounded xdist worker-restart budget to retry transient worker crashes by @jdrumgoole in #27
- Phase 4 sub-phase 5d: expose the full Storage surface through PyO3 by @jdrumgoole in #26
- Phase 4 sub-phase 5e-gap-a: users/roles/profiling in the Rust storage engine by @jdrumgoole in #28
- Phase 4 sub-phase 5e-gap-b: batch insert + prune-all-collections in the Rust storage engine by @jdrumgoole in #29
- Phase 4 sub-phase 5e-gap-c: change-stream tailable-wait primitive in the Rust storage engine by @jdrumgoole in #30
- Rust server: two-separate-servers direction + wire/dispatch/cursors/find/update + accept loop, WT adapter, embedded handle by @jdrumgoole in #31
- Rust server: aggregate, distinct, and DDL/introspection commands by @jdrumgoole in #32
- Rust server: findAndModify, db-admin, and session/diagnostic commands by @jdrumgoole in #33
- Rust server R5a: SCRAM-SHA-256 mechanism (secantus-auth) by @jdrumgoole in #34
- Rust server R5b-1: wire SCRAM-SHA-256 auth into the command layer by @jdrumgoole in #35
- Rust server R5b-2: --auth gating + RBAC in the command layer by @jdrumgoole in #36
- Rust server R5b-3: custom user-defined roles by @jdrumgoole in #37
- Rust server R5b-4: auth/RBAC completion (grant/revoke, updateUser, saslSupportedMechs) by @jdrumgoole in #38
- Rust server R5c-1: TLS / mTLS transport in the accept loop by @jdrumgoole in #39
- Rust server R5c-2: MONGODB-X509 authentication mechanism by @jdrumgoole in #40
- docs: add tasks/RESUME.md handoff note by @jdrumgoole in #41
- Rust server R7: standalone secantusdb binary by @jdrumgoole in #42
- Rust server R8: pymongo conformance gauge against the Rust server by @jdrumgoole in #43
- tests: arm pytest-timeout with a 600s thread-method deadline by @jdrumgoole in #44
- gauge: stop silently measuring real mongod; add secantus serverStatus marker by @jdrumgoole in #45
- Refresh validation reports by @jdrumgoole in #46
- Cluster-time gossip: $clusterTime + operationTime on every reply by @jdrumgoole in #47
- docs: bank the E11000 gauge-cluster triage in the backlog by @jdrumgoole in #48
- storage: refresh stale WT snapshots in the mutating scanners by @jdrumgoole in #50
- Real multi-document transactions for the Python server by @jdrumgoole in #49
- expressions: mongod-faithful arithmetic type errors by @jdrumgoole in #51
- changestreams: pipeline updates are "update" events, not "replace" by @jdrumgoole in #52
- storage: timeseries collections accept duplicate _ids by @jdrumgoole in #53
- rust server: cluster-time gossip ($clusterTime + operationTime) by @jdrumgoole in #54
- rust server R3b-a: change streams (tailable getMore) by @jdrumgoole in #55
Full Changelog: v0.5.2b7...v0.5.3b7