Contents

v0.5.29: Git Sync, Provider and Pack Fixes

View source on GitHub

This patch release publishes #371, #372, #375, #376, #377, #378, #379, #380, #381 and #382.

  • Memory Spaces no longer multiply through Git sync (#376, issue #370). A merge compared whole mnemon.db files, and Mnemon rewrites a space whenever it is read, so every round kept another copy. Spaces are now compared by their memories and links. Two versions of one space merge into one, and the recall counts each machine keeps stay its own. Only a memory edited or forgotten on one side keeps the other version as one copy.
  • Project Document edits travel through Git sync (#381). An edited document met its own older version on the branch and was kept twice; an edit made on one machine reached the other as one more copy. Sync now remembers which version both machines last agreed on: an edit replaces the older version, and only a document changed on both sides keeps the other version as a copy.
  • Large Mnemon Packs (#375, issue #368). Git sync no longer fails with Maximum call stack size exceeded once a Pack's base64 passes about 4.4 MB; the check now takes linear time.
  • GitHub sign-in (#371, issue #369). Signing in for Git sync works when another plugin rebuilds DSH's requests and GitHub answers form-encoded instead of JSON.
  • The Memory System after a sync or an import (#377). Returning from the Plugins page shows what Sync now, Merge here only, a ZIP import or an applied Memory reconciliation plan brought in, without Refresh.
  • Check remote (#380). When Merge here only fails, the comparison says why instead of looking unchanged.
  • Provider namespaces created later (#382, issue #373). A bank, workspace or user created on the Provider side after its settings were saved now reaches Memory Spaces. The Host asks every enabled Provider once, a little after it starts serving a data directory, and Rediscover on Memory Spaces asks on demand. New spaces start inactive and marked New, so recall reads them only once you switch them on. Mounted spaces, spaces made by hand for the same namespace, and namespaces you disconnected stay as they are.
  • OpenViking (#372, issue #353; #378). Memories are stored on OpenViking 0.4.16, which refused the request before, and keep their category. A search or a listing leaves out a memory the server still lists but can no longer read, and says so, instead of making the whole space look unreachable.
  • Hindsight (#379). Entity names lose their notes in one linear pass. A name with 80,000 ( took 2.6 seconds before, during which the Host did nothing else; it now takes well under a millisecond.

Upgrade and compatibility

From v0.5.22, use Memory System → Status → Check versions → Update, then restart DSH. To install the exact version:

sh
dsh plugin --profile web add dsh-mnemon@0.5.29

Restart an existing DSH process after installation. A fresh installation can choose Enable now on the Plugins page. An explicit version avoids pnpm selecting an older release during its 24-hour release window. Older desktop installations are covered by Compatibility and upgrades.

If your Profile independently maintains Memory Spaces, OpenViking or Hindsight, update that copy too (dsh-mnemon-source-memory-spaces@0.5.19, dsh-mnemon-provider-openviking@0.5.8, dsh-mnemon-provider-hindsight@0.5.6), or remove it and use the Starter's included copy. The Starter pins the new versions automatically.

Existing memory needs no migration:

  • Git sync keeps a new record of the Project Document versions both sides last agreed on; earlier versions ignore it, and the first sync after the upgrade writes it.
  • Memory Spaces remembers the namespaces you disconnect in state/memory-provider-disconnects.json, beside its registry, whose format is unchanged.
  • Spaces and documents copied by earlier versions stay where they are; this release stops further copies but does not merge or delete existing ones.

The supported host is DSH 0.2.0-rc.2; the checks below also pass on DSH 0.2.1-alpha.2. Complete profiles use Node ^22.19.0 || >=24.0.0. Plugin peer floors and all locked external dependency versions are unchanged.

Changed packages

Package Previous New
dsh-mnemon 0.5.28 0.5.29
dsh-mnemon-source-memory-spaces 0.5.18 0.5.19
dsh-mnemon-provider-openviking 0.5.7 0.5.8
dsh-mnemon-provider-hindsight 0.5.5 0.5.6

The other 14 component versions are unchanged.

Verification

Release acceptance installs the four changed packages through Add plugin on fresh DSH 0.2.0-rc.2 and 0.2.1-alpha.2 hosts, checks Status, Runtime, a Native space with CLI and WebUI recall, Entities and Check versions, and updates a v0.5.28 installation. The merged source passes the full workspace verification, including 1,946 root tests, and 64 real Git sync checks pass on each of DSH 0.2.0-rc.2 and 0.2.1-alpha.2 with two hosts and a temporary bare repository.

Each change has its own before-and-after record:

Publication verifies the complete pinned composition, registry installation and a real upgrade before creating the GitHub release.

Previous release: v0.5.28.