All notable changes to this project are documented in this file.
- Default local project version moved to
0.1.10-SNAPSHOT.
- Added MongoDB-style
$min/$maxupdate operators with BSON ordering, mixed numeric types, dates, dotted paths, upserts, and modifier conflict detection. - Added expression-based aggregation-pipeline updates for
$addFields/$set,$project/$unset, and$replaceRoot/$replaceWith. - Added aggregation expressions for conditional/comparison/type/null handling, min/max, basic arithmetic,
$mergeObjects, and UTC$dateTruncwith calendar units andbinSize. - Expanded
$groupwith core, set/object merge, percentile/median, and first/last/min/max/top/bottom N accumulators. - Added
$setWindowFieldspartition/sort support with$shift,$documentNumber,$rank, and$denseRank.
- Added
$unwind.includeArrayIndexsupport, including MongoDB-compatiblenullindex handling for scalar and preserved null/missing/empty inputs. - Added
listCollections,drop, anddropDatabasecommand handlers for metadata lookup and fixture cleanup flows. - Added UTF
runCommandimporter support forlistCollections,distinct,drop, anddropDatabase. - Added tier-0 TTL runtime pruning for single-field
expireAfterSecondsindexes using deterministic lazy cleanup. - Added regression coverage for
findOneAndUpdate/upsert duplicate-key behavior when_idmatches an existing document but other predicates do not, including$and-wrapped filters. - Added declarative fixture manifest schema (
fixture-manifest.v1) with standardizeddev/smoke/fullprofile model. - Added fixture manifest loader/validator with path-aware aggregated validation errors.
- Added deterministic fixture extraction planner + profile fingerprint generation.
- Added fixture manifest CLI utility (
FixtureManifestTool) and Gradle task (fixtureManifestPlan) for profile plan validation/output. - Added sample fixture manifest templates under
testkit/fixture/manifests. - Added fixture manifest onboarding documentation (
docs/FIXTURE_MANIFEST.md). - Added fixture usage/operations playbook (
docs/FIXTURE_PLAYBOOK.md) for developer/reviewer/operator workflows. - Added Node adapter replica-set profile contract tests for URI/env propagation and
hellohandshake invariants. - Added Node adapter topology-profile/URI option sync validation with mismatch regression tests.
- Added Jest global setup/teardown stabilization for idempotent state reuse and stale state auto-recovery.
- Added Vitest workspace helper for project-level DB/env isolation policy.
- Added Nest Jest adapter hardened defaults (
MONGODB_URI+DATABASE_URL, worker DB isolation) with override coverage. - Added Express integration smoke scenario and recipe coverage in node-compat suite.
- Added Koa integration smoke scenario and recipe coverage in node-compat suite.
- Added Mongoose transaction/session smoke harness scenario with session visibility/commit coverage.
- Added TypeORM MongoDB repository CRUD smoke harness scenario in node-compat suite.
- Added Prisma MongoDB provider CRUD smoke harness with generated client workflow in node-compat suite.
- Added node adapter compatibility CI matrix across Ubuntu/macOS and Node 20/22.
- Added npm release pipeline tarball attestation flow (
actions/attest-build-provenance) for binary/core Node packages. - Added Node adapter canary pre-release workflow with canary dist-tag publish automation and attested tarball flow.
- Added Node adapter semver/compatibility policy documentation (
docs/NODE_SEMVER_POLICY.md). - Added dedicated migration guide from
mongodb-memory-serverto@jongodb/memory-server. - Added Node adapter troubleshooting playbook mapped by error signatures.
- Added strict Node API type coverage report workflow and export coverage report artifact.
- Added ESM/CJS dual-export contract smoke checks for Node adapter entrypoints.
- Added Node cold-start benchmark suite with CI budget gate and report artifacts.
- Added runtime launcher log secret redaction policy and regression coverage.
- Added Node debug bundle collector CLI and issue template for reproducible support reports.
- Added startup latency telemetry hook for launch attempts (including auto fallback success/failure events).
- Added
node:doctorlauncher preflight diagnostics command with structured report output. - Added Java classpath auto-discovery fallback hardening for
auto/javalaunch modes with configurable probe command/cwd. - Added runtime SHA-256 binary integrity verification for bundled binaries and explicit
binaryChecksum/JONGODB_BINARY_CHECKSUMpaths. - Added local classpath-discovery artifact cache with TTL/quota pruning policy and configurable cache limits.
- Added process-exit launcher cleanup hook (
cleanupOnProcessExit) to reduce orphan runtime processes after abrupt test termination. - Added fixed-port collision retry/backoff strategy (
portRetryAttempts,portRetryBackoffMs) with next-port fallback behavior. - Added structured runtime logging contract (
onLog,logFormat) with expanded log levels (error/warn/info/debug).
- Fixed insert parity for documents missing
_idby assigning anObjectIdbefore unique-index validation. - Fixed release-gate runOn lanes to keep
mongos-unpinandclient-bulkWrite-errors*suites gated until their exact differential contracts are implemented. - Fixed deterministic R3 parity mismatches for dollar-prefixed
_idsubfields, replacement-styleupdateMany, andcreateIndexesinside transactions. - Fixed upsert seed extraction to honor equality clauses nested inside
$and, restoring duplicate-key behavior forfindOneAndUpdatelock-style filters.
- Default local project version moved to
0.1.9-SNAPSHOTbefore thev0.1.9release.
- Added real-mongod differential execution adapter path for UTF
bulkWritescenarios. - Added transaction regression coverage for:
- repeated
commitTransactionreplay behavior abortTransactionaftercommitTransaction- commit-time write conflict handling across concurrent transactions
- repeated
- Added explicit engine exception type for commit-time write conflict detection.
- Resolved remaining official UTF differential mismatches for imported
crud,transactions, andsessionssuites. - Fixed
bulkWriteupdate validation to require atomic-modifier style updates. - Fixed
replaceOnevalidation parity in real-mongod differential backend. - Fixed null
_idupsert result propagation so update/replace upsert counters align with reference behavior.
- Added default
_idunique index behavior to the in-memory collection store. - Strengthened transaction terminal-state handling (
COMMITTED/ABORTED) for retry and post-terminal command semantics. - Updated compatibility scorecard snapshot to current
failureCount=0R3 ledger evidence. - Default local project version moved to
0.1.3-SNAPSHOT.
- Added single-hook Spring test bootstrap annotation:
@JongodbMongoTest. - Added command handlers for
countDocuments,replaceOne,findOneAndUpdate,findOneAndReplace. - Added ordered
bulkWritecore subset support. - Expanded
findOneAndUpdate/findOneAndReplaceprojection subset behavior. - Added PR CI workflow
.github/workflows/ci-test-suite.ymlto enforceclean teston PRs andmain.
- Included
aggregatein transactional command routing so transaction-scoped aggregate operations use the transaction snapshot. - Added regression coverage for transactional aggregate visibility and post-commit publish behavior.
- Maven release workflow now runs
clean testbefore staging/deploy. - Default local project version moved to
0.1.2-SNAPSHOT. - Updated README and release docs to distinguish
v0.1.1certification baseline from currentmain.
- Replaced full-store transaction snapshot publish with namespace-aware merge on commit.
- Preserved out-of-transaction writes interleaved during an open transaction, including same-namespace writes with different
_idvalues.
- Added deterministic same-document conflict policy: when transactional and non-transactional writes target the same
_id, commit applies the transactional version.
- Added mixed transactional/non-transactional regression scenarios for commit and abort paths.
- Expanded Spring compatibility matrix scenarios for multi-template transaction paths and interleaving write cases.
- Verified full test suite and Spring matrix evidence generation on release branch.
Initial public release.
- In-memory MongoDB-compatible command engine for Spring integration tests.
- In-process command ingress with deterministic unsupported-feature responses.
- Differential/evidence tooling for compatibility and release readiness.
- Maven coordinate:
io.github.midagedev:jongodb:0.1.0 - Maven path:
https://repo1.maven.org/maven2/io/github/midagedev/jongodb/0.1.0/ - Initial Maven Central publish workflow run:
22334177236