monsqlize 3.3.4 → 3.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,18 +1,20 @@
1
1
  # CHANGELOG
2
2
 
3
- > Summary index — the 3.3.4 versioned details are in [changelogs/v3.3.4.md](./changelogs/v3.3.4.md). A versioned note does not establish npm publication; check the registry and immutable tag before deployment.
4
- > **Last updated**: 2026-10-26
3
+ > Summary index — the 3.5.0 versioned details are in [changelogs/v3.5.0.md](./changelogs/v3.5.0.md). A versioned note does not establish npm publication; check the registry and immutable tag before deployment.
4
+ > **Last updated**: 2026-10-27
5
5
 
6
6
  ---
7
7
 
8
8
  ## Unreleased
9
9
 
10
- The weekly-scan cache-key, health-check and lockfile security fixes are assigned to **3.3.4** ([versioned notes](./changelogs/v3.3.4.md)); the schema-dsl 3.0.5 upgrade is in [3.3.3](./changelogs/v3.3.3.md); the audited 3.3.2 repairs are in its [versioned notes](./changelogs/v3.3.2.md) and the [next-change staging log](https://github.com/devcodex-labs/monSQLize/blob/main/changelogs/unreleased.md). Untagged checkouts remain release candidates.
10
+ GridFS buckets are assigned to **3.5.0** ([versioned notes](./changelogs/v3.5.0.md)); the Search index lifecycle API is in [3.4.0](./changelogs/v3.4.0.md); the weekly-scan cache-key, health-check and lockfile security fixes are in [3.3.4](./changelogs/v3.3.4.md); the schema-dsl 3.0.5 upgrade is in [3.3.3](./changelogs/v3.3.3.md); the audited 3.3.2 repairs are in its [versioned notes](./changelogs/v3.3.2.md) and the [next-change staging log](https://github.com/devcodex-labs/monSQLize/blob/main/changelogs/unreleased.md). Untagged checkouts remain release candidates.
11
11
 
12
12
  ## Version Overview
13
13
 
14
14
  | Version | Date | Summary | Details |
15
15
  |---------|------|---------|---------|
16
+ | [v3.5.0](./changelogs/v3.5.0.md) | 2026-10-27 | Minor: GridFS buckets with upload, download, ranges, ensureIndexes and phase-1 resumable upload | [View](./changelogs/v3.5.0.md) |
17
+ | [v3.4.0](./changelogs/v3.4.0.md) | 2026-10-27 | Minor: Search index lifecycle API for Atlas Search and Vector Search | [View](./changelogs/v3.4.0.md) |
16
18
  | [v3.3.4](./changelogs/v3.3.4.md) | 2026-10-26 | Patch: cached-read keys under autoConvertObjectId, hung health-check pings, lockfile security patches | [View](./changelogs/v3.3.4.md) |
17
19
  | [v3.3.3](./changelogs/v3.3.3.md) | 2026-10-23 | Patch: pin schema-dsl 3.0.5 (dependency bug fixes only) | [View](./changelogs/v3.3.3.md) |
18
20
  | [v3.3.2](./changelogs/v3.3.2.md) | 2026-10-22 | Patch: BSON/cache identity, Model invalidation, pagination, transaction/sync lifecycle and upgrade safeguards; availability requires registry/tag verification | [View](./changelogs/v3.3.2.md) |
package/README.md CHANGED
@@ -14,7 +14,7 @@ Upgrade and security: [Migration Guide](./MIGRATION.md) · [Private Vulnerabilit
14
14
 
15
15
  The npm `latest` dist-tag and GitHub Pages are the stable channel; `main` may contain the next release. Pages deployment accepts only a versioned Git tag whose package version is already present on npm, so unpublished APIs are not promoted as stable documentation. The Google site ownership verification file is copied separately from the workflow commit, with its source commit and content hash recorded in the deployment summary.
16
16
 
17
- This source tree targets **3.3.4**, a patch fixing cached-read keys under `autoConvertObjectId`, hung health-check pings and lockfile security advisories (see the [3.3.4 notes](./changelogs/v3.3.4.md)); 3.3.3 pinned `schema-dsl@3.0.5`. The 3.3.2 cache, Model, pagination and sync fixes, including cold-cache upgrades and checkpoint rollback limits, are described in the [3.3.2 notes](./changelogs/v3.3.2.md) and [migration guide](./MIGRATION.md). Read the upgrade guide in [English](https://github.com/devcodex-labs/monSQLize/blob/main/docs/en/upgrade-3.3.2.md) or [简体中文](https://github.com/devcodex-labs/monSQLize/blob/main/docs/zh/upgrade-3.3.2.md). Untagged checkouts remain release candidates; verify the immutable tag and requested registry version before deployment. Candidate preparation does not publish npm or update stable Pages.
17
+ This source tree targets **3.5.0**, a minor release that adds GridFS buckets on `msq.gridfs()` and `model.gridfs()` (see the [3.5.0 notes](./changelogs/v3.5.0.md)); 3.4.0 added the Search index lifecycle API for Atlas Search and Vector Search. The 3.3.2 cache, Model, pagination and sync fixes, including cold-cache upgrades and checkpoint rollback limits, are described in the [3.3.2 notes](./changelogs/v3.3.2.md) and [migration guide](./MIGRATION.md). Read the upgrade guide in [English](https://github.com/devcodex-labs/monSQLize/blob/main/docs/en/upgrade-3.3.2.md) or [简体中文](https://github.com/devcodex-labs/monSQLize/blob/main/docs/zh/upgrade-3.3.2.md). Untagged checkouts remain release candidates; verify the immutable tag and requested registry version before deployment. Candidate preparation does not publish npm or update stable Pages.
18
18
 
19
19
  This development source is pinned to verified registry `schema-dsl@3.0.5`. The v3 package remains subject to the full release gate before an immutable tag and npm publication.
20
20
 
@@ -0,0 +1,28 @@
1
+ # monSQLize v3.4.0
2
+
3
+ > Release date: 2026-10-27
4
+ > Publication authority: the immutable tag and npm registry. An untagged checkout is a release candidate; the date above does not establish registry availability.
5
+
6
+ ## Highlights
7
+
8
+ Minor release. Adds the Search index lifecycle API on collection accessors and Models for full-text `search` and `vectorSearch` indexes. Existing APIs, defaults and dependency versions are unchanged. Node.js `>=18` remains the consumer runtime.
9
+
10
+ ## Added
11
+
12
+ - Search index lifecycle API: `createSearchIndex`, `createSearchIndexes`, `listSearchIndexes`, `getSearchIndex`, `updateSearchIndex`, `dropSearchIndex`, and `waitForSearchIndex`. Write methods follow `writePathPolicy` as `management` operations.
13
+ - `SearchIndexInfo` reports `typeSource` (`server` / `inferred` / `unknown`) and infers the type from the definition when the server omits a top-level `type` (self-managed mongot).
14
+ - Six error codes: `INVALID_SEARCH_INDEX_DEFINITION`, `SEARCH_INDEX_EXISTS`, `SEARCH_INDEX_NOT_FOUND`, `SEARCH_INDEX_UNSUPPORTED`, `SEARCH_INDEX_BUILD_FAILED`, `SEARCH_INDEX_WAIT_TIMEOUT`.
15
+ - Opt-in real-environment check: `npm run test:search-index:real` against `mongodb-atlas-local`.
16
+
17
+ ## Behavior notes
18
+
19
+ - Whether a `vectorSearch` index can be updated in place depends on the deployment: rejected on `mongodb-atlas-local` (mongod 8.3.13); accepted on Community 8.2.12 with mongot; Atlas cloud not tested by this release. monSQLize passes server rejections through as `MONGODB_ERROR` with `serverCode` and does not fall back automatically. Docs describe a zero-downtime rename-and-switch pattern and a drop-then-recreate option when brief downtime is acceptable.
20
+
21
+ ## Budgets
22
+
23
+ - Root CJS/ESM bundle budgets rise from 820,000 to 840,000 bytes per artifact; the CLI budget stays 50,000 bytes.
24
+ - Documentation site single JavaScript file budget rises from 700,000 to 720,000 bytes for the new Search index page.
25
+
26
+ ## Upgrade and rollback
27
+
28
+ No migration is required for existing APIs. New Search index methods are additive. Rollback to 3.3.4 removes the Search index lifecycle API and restores the previous root/site bundle budgets.
@@ -0,0 +1,23 @@
1
+ # monSQLize v3.5.0
2
+
3
+ > Release date: 2026-10-27
4
+ > Publication authority: the immutable tag and npm registry. An untagged checkout is a release candidate; the date above does not establish registry availability.
5
+
6
+ ## Highlights
7
+
8
+ Minor release. Adds GridFS buckets on `msq.gridfs()` and `model.gridfs()`. Existing APIs, defaults and dependency versions are unchanged. Node.js `>=18` remains the consumer runtime.
9
+
10
+ ## Added
11
+
12
+ - GridFS buckets: upload, download, byte ranges, `getFile`, `findFiles`, delete/drop, and a formal `ensureIndexes` method. `contentType` is stored in `metadata.contentType` (compatible with MongoDB Driver 6.x and 7.x).
13
+ - Phase-1 resumable upload: start, append chunks, finalize and abort. Upload sessions expire through a 7-day TTL index that does not cascade to already written chunks.
14
+ - `writePathPolicy` gains a `gridfs` field and category. Under model-only with inherit, GridFS reads stay allowed and writes require `gridfs: 'allow'`; `drop` is a management operation. Violations stay `INVALID_OPERATION` with `reason: 'WRITE_PATH_POLICY'`. Matching receives the collection-style internal instance id (`iid`).
15
+ - Six `GRIDFS_*` error codes. Driver failures from `getFile`, `findFiles`, `abortResumableUpload` and index creation map to `MONGODB_ERROR`, with the driver error kept as `cause`.
16
+
17
+ ## Budgets
18
+
19
+ - Root CJS runtime budget rises to 874,000 bytes and ESM to 871,000 bytes; `gridfs()` stays synchronous, so the single-file build keeps GridFS in the main bundle. The CLI budget stays 50,000 bytes.
20
+
21
+ ## Upgrade and rollback
22
+
23
+ No migration is required for existing APIs. GridFS methods are additive. Rollback to 3.4.0 removes the GridFS API and restores the previous bundle budgets; GridFS collections already written remain readable through the native driver.
@@ -31,7 +31,7 @@ var import_node_url = require("node:url");
31
31
  // package.json
32
32
  var package_default = {
33
33
  name: "monsqlize",
34
- version: "3.3.4",
34
+ version: "3.5.0",
35
35
  description: "TypeScript production data runtime layer for MongoDB today, with cache, transactions, pools, models, sync, and observability",
36
36
  type: "commonjs",
37
37
  main: "./dist/cjs/index.cjs",
@@ -52,6 +52,8 @@ var package_default = {
52
52
  "./package.json": "./package.json"
53
53
  },
54
54
  files: [
55
+ "changelogs/v3.5.0.md",
56
+ "changelogs/v3.4.0.md",
55
57
  "changelogs/v3.3.3.md",
56
58
  "changelogs/v3.3.4.md",
57
59
  "changelogs/v3.3.2.md",
@@ -152,6 +154,7 @@ var package_default = {
152
154
  "test:compatibility": "npm run build && npm run build:tests && node --test .generated/test-dist/test/compatibility/exports/exports.test.js .generated/test-dist/test/compatibility/matrix.test.js",
153
155
  "probe:server-matrix": "node scripts/validation/probe-memory-server-matrix.cjs",
154
156
  "test:server-matrix": "node scripts/validation/run-memory-server-matrix.cjs",
157
+ "test:search-index:real": "npm run build && node scripts/validation/run-search-index-real-env.cjs",
155
158
  "test:real-env:private": "node scripts/validation/run-private-real-env-checks.cjs",
156
159
  "test:examples": "npm run build && tsc -p tsconfig.examples.json && node scripts/run-examples.cjs",
157
160
  "test:performance": "npm run build && npm run build:tests && node .generated/test-dist/test/performance/baselines/function-cache.benchmark.js",
@@ -165,7 +168,7 @@ var package_default = {
165
168
  "test:coverage": "node scripts/run-coverage.cjs",
166
169
  "test:audit": "npm audit --omit=dev --registry=https://registry.npmjs.org/",
167
170
  test: "npm run build && npm run build:tests && node test/run-tests.cjs",
168
- "type-check": "npm run build && tsc -p tsconfig.json --noEmit && tsd --files test/types/root-import.test-d.ts --files test/types/cache-usage.test-d.ts --files test/types/model-usage.test-d.ts --files test/types/pool-usage.test-d.ts --files test/types/sync-usage.test-d.ts --files test/types/slow-query-log-usage.test-d.ts --files test/types/saga-usage.test-d.ts --files test/types/data-tasks-usage.test-d.ts",
171
+ "type-check": "npm run build && tsc -p tsconfig.json --noEmit && tsd --files test/types/root-import.test-d.ts --files test/types/cache-usage.test-d.ts --files test/types/model-usage.test-d.ts --files test/types/pool-usage.test-d.ts --files test/types/sync-usage.test-d.ts --files test/types/slow-query-log-usage.test-d.ts --files test/types/saga-usage.test-d.ts --files test/types/data-tasks-usage.test-d.ts --files test/types/search-index-usage.test-d.ts --files test/types/gridfs-usage.test-d.ts",
169
172
  "check:test-language": "node scripts/check-test-language.cjs",
170
173
  "check:docs-examples": "node scripts/validation/check-doc-example-matrix.cjs",
171
174
  "check:release-candidate": "node scripts/check-release-candidate.cjs",