Skip to content

monSQLize v3.1.0

Choose a tag to compare

@rockyshi1993 rockyshi1993 released this 15 Jul 14:54
· 19 commits to main since this release

monSQLize v3.1.0

Release date: 2026-07-15

Highlights

  • Pins the production dependency to registry schema-dsl@3.0.0 and continues to compile Model schemas only through the isolated schema-dsl/runtime integration.
  • Consumes the canonical schema-dsl validation result (valid, normalized data, and errors[].path/message/keyword) without relying on deprecated upstream field/type/expected aliases.
  • Keeps Model.validate() compatible for monSQLize callers as { valid, errors: [{ field, message }], data }, deriving field from the canonical upstream path.
  • Persists successful normalized data across the six complete-document write paths: insertOne, insertMany, insertBatch, replaceOne, findOneAndReplace, and hydrated document save().
  • Applies bulk defaults before before-hooks, normalizes before timestamps/version fields, and validates replacement documents before optimistic-lock reads.
  • Rejects null, primitive, or array normalized results before any driver operation; failed validation snapshots are never written.
  • Preserves timestamps on hydrated save() when versioning is disabled, including documents normalized by schema-dsl.
  • Includes the maintained Node 24 GitHub Actions runtime, release metadata checks, TypeScript lint coverage, shared memory-server policy, coverage/package/license budgets, derived-artifact dry-run cleanup, and the lightweight data-task CLI bundle introduced after v3.0.0.

Compatibility boundaries

  • Update operators and pipelines are partial mutations, so they are intentionally outside normalized complete-document persistence.
  • isRequired() and isOptional() are not required by monSQLize; schema definitions already expose the required/optional state needed by this integration.
  • The public monSQLize validation error shape remains stable even though its upstream adapter now consumes schema-dsl's canonical error fields.

Verification

  • The release candidate must pass npm run release:preflight, the Node 18/20/22 remote matrix, packed CJS/ESM/TypeScript/CLI consumers, the MongoDB 7/8 server matrix, production dependency audit, and the documentation browser gates.