Skip to content

v2.3.7b2

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 23 Sep 16:19
· 151 commits to main since this release
3ca2733

AtMem 2.3.7 beta 2 — concurrent Windows dashboard reliability

AtMem 2.3.7b2 is a focused prerelease correction for concurrent access to the
encrypted local control and identity stores, especially on Windows. It prevents
simultaneous dashboard and delegated AtFlows sign-in requests in one AtMem
process from racing encrypted-container replacement, and tolerates bounded
transient Windows file-sharing failures during atomic replacement. AtMem 2.3.6
remains the stable recommendation while this beta receives clean-install and
concurrent-use review.

Install or upgrade

In the intended Python environment:

python -m pip install --pre --upgrade atmem==2.3.7b2
atmem --version
atmem init
atmem status

pip install installs AtMem, atmem-atbot==0.1.0, and atflows==0.1.2; it
does not start a service or configure an application to send telemetry. The
matching OpenClaw bridge is openclaw-memory-atmem@2.3.7-beta.2. Existing
OpenClaw users should run:

atmem openclaw upgrade
atmem control verify --probe

What changed from 2.3.7b1

Serialized encrypted control-store access

Encrypted control stores use an in-memory SQLite image and atomically replace
their encrypted on-disk container after a transaction. Two threads in one
process could previously load the same prior image and race their replacements.
AtMem now serializes those store lifetimes within the process, preserving the
existing cross-process household lock while preventing stale-image replacement
and Windows sharing violations.

This path is exercised by dashboard, evidence, and delegated companion requests.
It improves AtFlows shared-login reliability because concurrent AtFlows and
browser requests authenticate against AtMem's encrypted local state. It does
not merge the AtMem and AtFlows databases or make telemetry canonical memory.

Atomic identity and control replacement on Windows

Encrypted account/session document reads and replacements now share a
process-local lock. Identity and encrypted control-container replacement retry
transient Windows PermissionError failures for up to two seconds before
failing explicitly. Writes remain temporary-file-plus-atomic-replace operations;
the retry does not fall back to an in-place plaintext write.

Carried forward from beta 1

The 2.3.7b1 Windows onboarding and durability corrections remain included:

  • atmem init can provision the pinned, checksum-verified Bun 1.4.2 runtime
    privately when AtFlows needs Bun and no compatible system runtime exists.
  • Windows Store Python user-script discovery finds the matching AtFlows launcher.
  • Dashboard and companion process checks use portable Windows process APIs.
  • File durability keeps POSIX directory fsync and handles unsupported Windows
    directory handles without weakening file flush or atomic replacement.

Migration and compatibility

  • No database, Home, evidence, memory, identity, or account migration is needed.
  • Existing encrypted and plaintext Home data remains compatible.
  • AtBot remains atmem-atbot==0.1.0; AtFlows remains atflows==0.1.2.
  • The OpenClaw bridge changes only its exact release alignment to
    2.3.7-beta.2; its host compatibility floor and behavior are unchanged.
  • Python 3.10–3.13 remains supported. The Python 3.14 Windows smoke remains an
    early portability check, not an expanded support promise.
  • Memory, retrieval, evidence, authorization, AtFlows review, and framework
    adapter semantics are otherwise unchanged from 2.3.7b1.

Honest beta limitations

  • AtMem Home remains a local single-writer design across processes. This fix
    serializes store access between threads in one process; it does not introduce
    multi-primary replication or cloud-sync conflict resolution.
  • The bounded Windows replacement retry handles transient sharing violations,
    not persistent permission, ownership, storage, or antivirus policy failures.
  • AtFlows remains a separate service and data store. Applications must still
    opt in to its model proxy or OTLP endpoints to produce telemetry.
  • Automatic Bun provisioning still requires HTTPS access on first use when no
    compatible runtime is already available.
  • AtMem records supported agent boundaries but cannot prove external side
    effects without independent receipts.

Roll back

To return to the stable release:

python -m pip install --upgrade atmem==2.3.6
atmem openclaw upgrade
atmem status

Downgrading changes executable behavior but does not rewrite Home data, identity
documents, or the private Bun runtime. Stop active writers and keep a verified
Home snapshot before changing versions.