@lossless.org/nosqldb 9.0.1 → 10.0.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.
Binary file
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "format": "tsrust.build-provenance.v2",
3
- "binarySha256": "f17174f374b0d5fb384db7f43f5da1b921f2c705ea89c6028dce0ea3cc5212a3",
3
+ "binarySha256": "173dc88779788211cbbb91b7900ba59a691a1edbe8cc2d1e88d1ad867f3081eb",
4
4
  "buildInfo": {
5
5
  "projectName": "@lossless.org/nosqldb",
6
- "projectVersion": "9.0.1",
7
- "gitCommit": "9e138550340eb3561f289a28a00a303769bc1b85",
6
+ "projectVersion": "10.0.0",
7
+ "gitCommit": "ebe48a0c597dc1b4dbc7aac0f08ecc4e45dace4a",
8
8
  "gitDirty": false,
9
- "builtAt": "2026-09-10T23:23:14.734Z",
9
+ "builtAt": "2026-09-11T09:19:51.980Z",
10
10
  "tsrustVersion": "1.13.0",
11
11
  "binary": "rustdb",
12
12
  "target": "linux_amd64"
Binary file
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "format": "tsrust.build-provenance.v2",
3
- "binarySha256": "52eb2ced3bdb754c140428800967a9e49da719662dd57b084887c04079470ab1",
3
+ "binarySha256": "86aef90962b5e9128c3bf63f860c510958ddf7d8541b0c9a219ccbd11f68b4a6",
4
4
  "buildInfo": {
5
5
  "projectName": "@lossless.org/nosqldb",
6
- "projectVersion": "9.0.1",
7
- "gitCommit": "9e138550340eb3561f289a28a00a303769bc1b85",
6
+ "projectVersion": "10.0.0",
7
+ "gitCommit": "ebe48a0c597dc1b4dbc7aac0f08ecc4e45dace4a",
8
8
  "gitDirty": false,
9
- "builtAt": "2026-09-10T23:23:15.566Z",
9
+ "builtAt": "2026-09-11T09:19:52.691Z",
10
10
  "tsrustVersion": "1.13.0",
11
11
  "binary": "rustdb",
12
12
  "target": "linux_amd64_musl"
Binary file
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "format": "tsrust.build-provenance.v2",
3
- "binarySha256": "abe6aa368f58cab85f5e5131e67619c28b08d7d6d98935db91b5240f64172395",
3
+ "binarySha256": "30cbb4197487b1e711afbb294368f66aef7be11ea15ec700d9144004afc0a1df",
4
4
  "buildInfo": {
5
5
  "projectName": "@lossless.org/nosqldb",
6
- "projectVersion": "9.0.1",
7
- "gitCommit": "9e138550340eb3561f289a28a00a303769bc1b85",
6
+ "projectVersion": "10.0.0",
7
+ "gitCommit": "ebe48a0c597dc1b4dbc7aac0f08ecc4e45dace4a",
8
8
  "gitDirty": false,
9
- "builtAt": "2026-09-10T23:23:15.180Z",
9
+ "builtAt": "2026-09-11T09:19:52.336Z",
10
10
  "tsrustVersion": "1.13.0",
11
11
  "binary": "rustdb",
12
12
  "target": "linux_arm64"
Binary file
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "format": "tsrust.build-provenance.v2",
3
- "binarySha256": "150ec33b79fa74e6d899d2638c6ee87e09f4d22b9e78723d72df426499433c41",
3
+ "binarySha256": "03f6fdfe296e45d5f6dab4a24fd5802ceb58647d0f0c441f414f38b4b9cf926f",
4
4
  "buildInfo": {
5
5
  "projectName": "@lossless.org/nosqldb",
6
- "projectVersion": "9.0.1",
7
- "gitCommit": "9e138550340eb3561f289a28a00a303769bc1b85",
6
+ "projectVersion": "10.0.0",
7
+ "gitCommit": "ebe48a0c597dc1b4dbc7aac0f08ecc4e45dace4a",
8
8
  "gitDirty": false,
9
- "builtAt": "2026-09-10T23:23:15.927Z",
9
+ "builtAt": "2026-09-11T09:19:53.056Z",
10
10
  "tsrustVersion": "1.13.0",
11
11
  "binary": "rustdb",
12
12
  "target": "linux_arm64_musl"
Binary file
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "format": "tsrust.build-provenance.v2",
3
- "binarySha256": "07cfb3c99edfbbb8b52cbb0ed3a24986ef447dfd962e5f86f0ad92a03cf574c1",
3
+ "binarySha256": "c82da714a6d951f8ba5ad2422b7500beddc6d19e54a490a18656fd97c63889e2",
4
4
  "buildInfo": {
5
5
  "projectName": "@lossless.org/nosqldb",
6
- "projectVersion": "9.0.1",
7
- "gitCommit": "9e138550340eb3561f289a28a00a303769bc1b85",
6
+ "projectVersion": "10.0.0",
7
+ "gitCommit": "ebe48a0c597dc1b4dbc7aac0f08ecc4e45dace4a",
8
8
  "gitDirty": false,
9
- "builtAt": "2026-09-10T23:09:54.788Z",
9
+ "builtAt": "2026-09-11T09:06:51.200Z",
10
10
  "tsrustVersion": "1.13.0",
11
11
  "binary": "rustdb",
12
12
  "target": "macos_amd64"
Binary file
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "format": "tsrust.build-provenance.v2",
3
- "binarySha256": "265998db64d75e172fddfb736bb0e9a7c6a69a04da3f6ba324c38b1e5e4cde29",
3
+ "binarySha256": "beb244ceacfe397eb38ef1d24570caf306491870090dc8503bb373477eeaf386",
4
4
  "buildInfo": {
5
5
  "projectName": "@lossless.org/nosqldb",
6
- "projectVersion": "9.0.1",
7
- "gitCommit": "9e138550340eb3561f289a28a00a303769bc1b85",
6
+ "projectVersion": "10.0.0",
7
+ "gitCommit": "ebe48a0c597dc1b4dbc7aac0f08ecc4e45dace4a",
8
8
  "gitDirty": false,
9
- "builtAt": "2026-09-10T23:09:55.430Z",
9
+ "builtAt": "2026-09-11T09:06:51.713Z",
10
10
  "tsrustVersion": "1.13.0",
11
11
  "binary": "rustdb",
12
12
  "target": "macos_arm64"
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@lossless.org/nosqldb',
6
- version: '9.0.1',
6
+ version: '10.0.0',
7
7
  description: 'A MongoDB-compatible embedded database server with wire protocol support, backed by a high-performance Rust engine.'
8
8
  };
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSx1QkFBdUI7SUFDN0IsT0FBTyxFQUFFLE9BQU87SUFDaEIsV0FBVyxFQUFFLHFIQUFxSDtDQUNuSSxDQUFBIn0=
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSx1QkFBdUI7SUFDN0IsT0FBTyxFQUFFLFFBQVE7SUFDakIsV0FBVyxFQUFFLHFIQUFxSDtDQUNuSSxDQUFBIn0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lossless.org/nosqldb",
3
- "version": "9.0.1",
3
+ "version": "10.0.0",
4
4
  "private": false,
5
5
  "description": "A MongoDB-compatible embedded database server with wire protocol support, backed by a high-performance Rust engine.",
6
6
  "exports": {
package/readme.md CHANGED
@@ -365,28 +365,57 @@ accepts `folderPath`, `socketPath`, `binaryPath` and the same `auth` options.
365
365
 
366
366
  #### Native query and maintenance efficiency
367
367
 
368
- Bounded synchronous reads share a retained generation lease. Filesystem ownership
369
- and generation bindings are validated before and after the batch; mutation,
370
- durability, cancellation and close checks remain enforced.
368
+ Bounded synchronous reads, including principal resolution, publication authority
369
+ and query setup, share a retained generation lease. Filesystem ownership and
370
+ generation bindings are validated before and after the batch; mutation,
371
+ durability, cancellation and close checks remain enforced. No lease or resolved
372
+ authorization is reused across requests or asynchronous suspensions.
373
+
374
+ Compound indexes combine leading equality fields with a range on the next field.
375
+ For example, `{ serverId: 1, timestamp: 1 }` seeks directly into the requested
376
+ server's time interval. Inclusive/exclusive endpoints, descending components,
377
+ trailing fields and reverse pagination retain their normal semantics. The full
378
+ predicate is still checked for every selected candidate.
371
379
 
372
380
  For a query whose filter references only `_id` and whose projection is exactly
373
381
  `{ _id: 1 }`, the native primary index can supply the original BSON identity
374
382
  without loading the document payload. Range endpoints, order, skip, limit and
375
383
  cursor pagination retain their normal semantics. The engine verifies the index
376
- and unique-owner values, the document frame's existence and the matching commit
377
- versions. A covered read does not checksum an unrequested document payload.
378
- Older records whose identity was not committed with their current document use
379
- the normal bounded body read; ordinary writes refresh the covering identity.
384
+ and unique-owner values, the document frame's existence, and either matching
385
+ commit versions or a storage-owned SHA-256 certificate of the exact BSON `_id`.
386
+ Updates that keep the same identity leave the primary owner and its certificate
387
+ unchanged, avoiding an extra index rewrite. Numeric BSON width changes update
388
+ the certificate and primary identity atomically with the body. A covered read
389
+ does not checksum an unrequested document payload. Older records without a
390
+ usable identity proof use the normal bounded body read; the next actual write
391
+ adds the certificate.
380
392
  Secondary-index projections and predicates requiring other fields retain normal
381
393
  document reads. No application cache or configuration flag is required.
382
394
 
395
+ Concurrent wire `insert`, `update`, `delete` and `findAndModify` commands can share
396
+ one durability flush. Each command keeps its own commit marker and retry outcome.
397
+ Only the private write group sees provisional roots; readers and replies see
398
+ results after the final flush. The queue holds at most 16 jobs, adds no deliberate
399
+ delay, and ends each group after 16 jobs or 64 MiB of appended data (one admitted
400
+ command can cross that byte threshold). Authority, session and input-resource
401
+ lifetimes remain held through durability. History publication also waits for the
402
+ flush. DDL, transactions, index builds, imports and maintenance retain their
403
+ existing independently durable publication paths.
404
+
405
+ **Storage compatibility:** version 10 adds a 40-byte certified document-ordinal
406
+ record alongside the legacy 8-byte ordinal. It reads existing stores directly;
407
+ startup and reads perform no format rewrite. After version 10 writes certified
408
+ records, use version 10 or later to reopen that store. Older binaries reject the
409
+ new record representation. Keep a pre-upgrade backup if a binary downgrade is
410
+ required. The K2 pages, commit markers and recovery protocol are unchanged.
411
+
383
412
  Maintenance batches catalog work and parks completed reclamation and no-TTL
384
413
  sweeps until the committed position changes. Session cleanup skips its metadata
385
414
  scan until a session can expire. Compaction uses the persisted generation anchor
386
415
  as its baseline, so reopening an already-compacted root does not rewrite it.
387
416
  Compaction runs separately from TTL maintenance, observes shutdown cancellation,
388
417
  and does not restart a large copy because a short maintenance deadline elapsed.
389
- The existing native storage format is preserved.
418
+ These maintenance optimizations preserve the existing generation and commit formats.
390
419
 
391
420
  #### Current-format-only file startup
392
421
 
@@ -3,6 +3,6 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@lossless.org/nosqldb',
6
- version: '9.0.1',
6
+ version: '10.0.0',
7
7
  description: 'A MongoDB-compatible embedded database server with wire protocol support, backed by a high-performance Rust engine.'
8
8
  }