Skip to content

v2.3.7b1

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 23 Sep 10:26
· 175 commits to main since this release
2687693

AtMem 2.3.7 beta 1 — reliable Windows onboarding

AtMem 2.3.7b1 is a prerelease correction for native Windows and Windows Store
Python installations. It makes dashboard and companion discovery use the
active Python user installation, replaces POSIX-only process and durability
assumptions, and lets atmem init provision the Bun runtime required by the
separately packaged AtFlows dashboard. AtMem 2.3.6 remains the stable
recommendation while this beta receives clean-install review.

Install or upgrade

In the intended Python environment:

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

pip install installs AtMem, atmem-atbot==0.1.0, and atflows==0.1.2; it
does not execute a post-install downloader or start a service. If compatible
Bun 1.1 or newer is absent, the subsequent atmem init command clearly
announces and downloads the pinned official Bun 1.4.2 archive, verifies its
release-pinned SHA-256 before extraction, and stores the executable under
~/.atmem/runtime/bun/1.4.2. It does not require administrator rights or
modify global PATH. A compatible system Bun is reused instead.

The matching OpenClaw bridge is
openclaw-memory-atmem@2.3.7-beta.1. Existing OpenClaw users should run:

atmem openclaw upgrade
atmem control verify --probe

What changed from 2.3.6

Automatic, verified Bun provisioning at initialization

atmem init now provisions Bun only when AtFlows needs it and no compatible
runtime is available. AtMem pins the official release URL and SHA-256 for the
supported Windows, Linux, and macOS x64 and ARM64 archives, enforces a 200 MiB
download limit, extracts only the single Bun executable, verifies its reported
version, and records source metadata beside the private runtime. Download and
verification progress goes to stderr so atmem init --json keeps valid JSON on
stdout.

atmem status identifies the Bun version, path, and whether it is a system or
AtMem-managed runtime. The managed path is added only to the environment of the
AtFlows process started by AtMem. AtFlows remains a separate service and data
store; installing or initializing AtMem does not configure any application to
send telemetry.

Windows Store Python launch and process fixes

Windows Store Python commonly installs console scripts and packages in its
user scheme. AtMem now discovers the exact nt_user scripts directory for the
AtFlows launcher. The dashboard daemon no longer hides the user-site package
with isolated-mode startup; instead it removes PYTHONPATH and PYTHONHOME,
uses AtMem's private runtime directory as its working directory, and marks the
detached process non-interactive. This prevents a background AtBot setup prompt
while preserving the safe deterministic fallback. Its bounded readiness window
also accommodates the slower first import from a cold Windows wheel environment.

Process status uses the Windows process API instead of the unsupported
POSIX-style os.kill(pid, 0) probe. The shared implementation is used by the
dashboard, Home service, AtBot service, and delegated provider lifecycle.

Portable durability and private-file checks

Directory fsync operations now use a portable helper: POSIX retains directory
fsync, while Windows treats unsupported directory handles as a platform
limitation after file flush and atomic replacement complete. The encrypted
evidence-key path no longer rejects a regular Windows file merely because NTFS
ACLs are not represented as Unix 0600 bits; POSIX mode-bit enforcement is
unchanged. Other optional provider/configuration paths retain their existing
platform constraints in this beta. No cryptographic format or authorization
rule changes.

Migration and compatibility

  • No database, Home, evidence, memory, or account migration is required.
  • Existing Home data and companion configuration are preserved.
  • Existing compatible system Bun installations remain preferred and are not
    modified.
  • A previously provisioned AtMem-managed Bun runtime is reused after its
    recorded executable digest and version validate; normal package downgrade
    does not silently delete it.
  • AtBot remains atmem-atbot==0.1.0; model-assisted intelligence remains opt-in
    and the safe deterministic fallback remains available.
  • AtFlows remains atflows==0.1.2. Its first web-runtime preparation may still
    need network access for its locked JavaScript dependencies.
  • Python 3.10–3.13 remains supported. The native Windows CI smoke on Python
    3.14 is an early portability check, not an expanded support promise.
  • OpenClaw, framework, memory, retrieval, evidence, and authorization semantics
    are otherwise unchanged from 2.3.6.

Honest beta limitations

  • Automatic Bun provisioning occurs during atmem init, not during pip's wheel
    installation. Python packaging intentionally has no reliable post-install
    hook for this external runtime.
  • Provisioning requires HTTPS access to the pinned official GitHub release. A
    blocked or offline download leaves AtMem core memory usable but AtFlows
    stopped, with an actionable error.
  • Automatic assets cover Windows, Linux, and macOS on x64 and ARM64. Other
    platforms must install compatible Bun independently.
  • The managed Bun executable does not place bun on the user's global PATH;
    it is private to AtMem-managed AtFlows.
  • Some optional delegated-provider setup and broader Unix-oriented tests still
    assume POSIX permission bits. This beta qualifies core onboarding, Home,
    dashboard, AtFlows, process, and durability paths on Windows; it does not
    claim every optional provider lifecycle is native-Windows complete.
  • AtMem records and governs supported agent boundaries; it still 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 or
delete the private Bun runtime. It can be removed manually while AtFlows is
stopped if it is no longer wanted.