-
DcRouter v32.1.1
StableRelease / build-and-release (push) Successful in 17m36sreleased this
2026-09-19 03:54:43 +00:00 | 79 commits to main since this release2026-09-19 - 32.1.1
Changes
- move document persistence from
@push.rocks/smartdatato@lossless.org/client/nosqldb(db) This is a patch: no public API, no persisted byte and no operator-facing behaviour changes.@push.rocks/smartdatais superseded;@lossless.org/client's./nosqldbentry is the same ORM under new ownership (nosqldbLineagerecords the upstream baseline,@push.rocks/smartdata11.14.2, which is byte-identical to the 11.14.1 dcrouter 32.1.0 shipped apart from the addedNoSqlConnection, the lineage constant and a change-stream capability guard, plus upstream 11.14.2'spublishModelIndexeschange, which stops excluding unique single-field indexes from the in-memoryregularIndexesreconciliation listing — index creation and every persisted index option are produced by byte-identical code). The dependency moves, the ORM does not.ts/plugins.tsimports the ORM from@lossless.org/client/nosqldband keeps re-exporting it asplugins.smartdata, because that is the name all ~670 call sites use and the exported surface is unchanged; renaming it would be churn without a behavioural difference.- No persisted byte moves. Collection names,
_idgeneration,_createdAt/_updatedAt, the_smartdataRevisionexact-persistence fence and every index name and option are produced by the same code as before.test/test.nosqldb-persisted-bytes.node.tswrites one document per persistence family (ordinary, exact,defineCollectionModel, cached document, EasyStore), reads the stored BSON back throughModel.inspectStoredDocumentsand asserts the literal shape 32.1.0 created, including the index names of all five collections. @push.rocks/smartmigrationmoves to2.0.1, which takes the ledger database as the client'sSmartdataDband peers on@lossless.org/client. The ledger document is unchanged: sameSmartdataEasyStorecollection, same_idsmartmigration-ledger, samenameIdsmartmigration:smartmigration(asserted bytest/test.migrations.node.tsandtest/test.smartdb-upgrade-compatibility.node.ts).@idp.global/sdkis pinned to18.0.0, whose./serveraccount store is built on the same@lossless.org/client/nosqldband declares a hard peer on@lossless.org/client. The 17.x server entry decorated its account document with its own@push.rocks/smartdatacopy, so the db handed toSmartdataAccountStoreno longer matched its parameter type (compile error) and the document never resolved a database at runtime. With 18.0.0 the sdk and dcrouter share one physical client install, so the ORM identity is the same object on both sides. Public names (SmartdataAccountStore,setAccountDocSmartdataDb, thesmartdataDboption) and the stored account bytes (collectionIdpSdkAccountDoc, indexes_id_and uniqueid_1,scrypt:v1password hashes) are unchanged, so existing admin accounts keep working untouched.- The test database starters (
@push.rocks/smartdb5.7.1, and the 2.14.6 / 5.2.2 engines replayed by the rollback and upgrade-compatibility fixtures) are unaffected: they hand over a connection URI, and the client connects over the same wire protocol. mongodbandbsoneach resolve to a single version, soinstanceof ObjectIdinside exact persistence keeps holding across package boundaries.
Downloads
- move document persistence from