Walrus Memory release notes
- MCP
- TypeScript SDK
- Python SDK
- OpenClaw
Walrus Memory MCP v0.0.16
October 26, 2026 | GitHub
This release updates @modelcontextprotocol/sdk to 1.32.1, which includes transport security fixes.
Authenticated SSE GET and POST requests now refuse redirects. The message endpoint that the server supplies must stay on the configured relayer origin. Because of this, custom authentication headers and tool arguments cannot be forwarded to a redirected origin. If your deployment relies on redirects to reach the relayer, configure the final relayer URL directly.
Walrus Memory MCP v0.0.15
October 21, 2026 | GitHub
A project-local .memwal/credentials.json is ignored until you approve that exact project path,
account, delegate key, and relayer with memwal-mcp approve-project. Approvals are stored in
~/.memwal/project-approvals.json, and any change to the destination requires approving again.
Until then, the global credentials are used and a stderr line names the skipped file.
memwal_health now reports account= beside relayer=.
MEMWAL_CREDS_DIR must now be an absolute path outside the current project. Other values are
refused with an error, and an empty value means unset. The login write-ahead record moves out of the
repository to ~/.memwal/login-pending/. memwal_login with freshKey: true now closes the
previous listener and names the abandoned public key and address so you can remove them from the
dashboard.
Walrus Memory MCP v0.0.14
September 22, 2026 | GitHub
The plugin no longer starts the MCP server through npx, which could run a package planted in the
open project. Every launch site now runs plugin/scripts/launch_mcp.mjs. It installs the pinned
version under ~/.memwal/runtime and fails rather than falling back. MEMWAL_MCP_RUNTIME_DIR
relocates that directory and must be an absolute path.
memwal_remember and memwal_remember_bulk now return a job_id at accept by default. Set
MEMWAL_MCP_REMEMBER_WAIT_MS=90000 to wait for a blob_id. Set MEMWAL_MCP_TRANSPORT=http to use
Streamable HTTP, though replayed writes might duplicate. Timeouts report the cause and relayer
health. The bridge honors retry_after, memwal_remember_status accepts job_ids, and delegate
keypairs persist before browser sign-in.
Changes
Walrus Memory MCP v0.0.13
September 15, 2026 | GitHub
Timed-out writes from memwal_remember, memwal_remember_bulk, and memwal_analyze now warn that
the write might have completed and tell you to check with memwal_recall before re-saving, which
avoids duplicate paid copies. The bridge reports a rejected delegate key immediately and points to
memwal_login. It backs off on HTTP 429 using Retry-After. It fails requests stuck behind a
failing handshake after 90s, which you can override with MEMWAL_MCP_STALLED_HANDSHAKE_MS.
After an in-session memwal_login, the bridge keeps reading stdin and confirms the sign-in. The CLI
writes credentials as a new 0600 file, warns about unrecognized options, and lists network presets
in --help. memwal_health now reports the relayer URL, and memwal_restore retries a page after
a transient failure.
Changes
- Unrecognised options now warn on stderr and in the structured log (
cli.unrecognised_arg) instead of being dropped in silence, so a typo'd--namesapce workno longer writes to the default namespace with nothing to say it had. The warning names the option key only, keeping a mistyped value-taking flag (--tokenn=hunter2) from putting the secret on stderr, and it warns rather than exits so an option from a newer config cannot brick the server. --helpnow lists the network presets (--prod,--dev,--staging,--local) with the relayer and web URLs each resolves to, rendered from the preset table rather than retyped so a new preset cannot ship undocumented the way--proddid. The--labeldefault is corrected to "MCP Client", which is what the code actually falls back to.memwal_healthreportsrelayer=<url>, naming the origin this process dialled, so a client bound to the wrong network finds out there instead of by noticing its memories are missing. The URL is captured when the call is sent rather than when the reply lands, so a reconnect mid-flight cannot label the answer with a relayer it did not come from.- Keep reading stdin after an in-session
memwal_login. The auth-required stub hands off to the bridge by pausing stdin, and a stream paused that way does not resume when a newdatalistener attaches, so the bridge served only the request replayed from the hand-off and then went deaf. Signing in appeared to work, the retry succeeded, and every call after it hung until the client timed it out. - Confirm a completed sign-in instead of only writing it to the log file. The failure path already reported itself twice (a notification and a notice on the next tool call) while success reported nothing, so a user who approved in the browser could not tell whether credentials had landed, the bridge had adopted them, or a retry was worth trying. Success now sends the matching notification and prefixes a one-shot banner naming the account, the delegate, and the resolved credentials path onto the next tool result.
- Stop the
memwal_loginprompt claiming you are already signed in when you are not. The bridge assumed it only ever runs with credentials on disk, butmemwal_logoutdeletes them and login is intercepted before the signed-out guard, so a login after a logout in the same session announced that a stored delegate key would be replaced, reading as though the logout had not taken. Both prompts now read the credentials file instead of assuming the mode. - Write the credentials file by creating a new
0600file and renaming it into place, instead of writing the delegate private key to the existing path and tightening the permission afterwards.writeFileSync'smodeonly applies when it creates the file, so acredentials.jsonleft world-readable by anything outside the CLI (a manualchmod, a restored backup, another tool) received the new key under the old permission until the followingchmodlanded. The CLI now writes the backup it takes when signing in as a different account the same way; that backup holds the same plaintext key, and the CLI previously created it under the process umask. On Windows, whererenamecannot replace a destination another process holds open and POSIX mode bits are not enforced at all, the CLI retries briefly and then writes in place rather than failing the sign-in.
Walrus Memory MCP v0.0.12
September 9, 2026 | GitHub
memwal_recall accepts an optional maxDistance cosine-distance cutoff, which must be 0 or
greater. It drops hits with distance >= maxDistance, and result lines now show both score and
distance. The server forwards the client's initialize.clientInfo to the relayer as
x-memwal-client and x-memwal-client-version, so sidecar logs name the coding agent.
The credential directory now resolves on every access, and MEMWAL_CREDS_DIR overrides it. This
fixes a Windows problem where the test suite overwrote ~/.memwal/credentials.json and its delegate
key. memwal_restore now clarifies that truncated=true is retryable and that truncated=false
does not guarantee completeness.
Changes
- Optional
maxDistanceonmemwal_recall: cosine-distance cutoff (low = similar, must be >= 0). Hits withdistance >= maxDistanceare dropped. Result lines now include bothscore(1 − cosine distance) anddistance. - Resolve the credential directory on every access instead of freezing it at module load, and let
MEMWAL_CREDS_DIRoverride it. The login test sandboxed the home directory withHOMEalone, whichos.homedir()ignores on Windows, so running the package's test suite there wrote fixture credentials over the developer's real~/.memwal/credentials.jsonand destroyed the delegate key stored in it.
Walrus Memory MCP v0.0.11
August 24, 2026 | GitHub
This release fixes MCP bridge reliability. The SSE handshake socket no longer aborts on HTTP 429,
401, or a bad content-type, which crashed on Windows. Outbound MCP POSTs are serialized, and the
bridge reconnects when the SSE handle is gone. A burst of memwal_recall calls no longer breaks it
until restart.
login without a TTY exits with code 1 instead of reporting success. Concurrent memwal_login
calls reuse the in-flight listener and URL rather than starting a second flow that can hang later
remember and recall calls. A login timeout warns that an on-chain delegate key might already exist
if the browser approved after the listener expired. Session occupancy caps are reported as
concurrent limits rather than a 30-second cooldown.
Walrus Memory MCP v0.0.10
August 20, 2026 | GitHub
The MCP server now sends proactive-usage instructions in the MCP initialize handshake. The model
knows when to save and recall memories even when your client lazily loads tool descriptions. The
bridge carries these instructions at cold start. Signed-out sessions get guidance pointing at
memwal_login and a conservative tools/list. memwal_recall is advertised as read-only. The
UserPromptSubmit hook lets the agent choose between remember and recall from meaning rather than
keywords.
Tool calls whose upstream response never arrives return a retryable error after
MEMWAL_MCP_CALL_TIMEOUT_MS (default 240s) instead of hanging. memwal_remember_bulk uses your
configured namespace (--namespace / MEMWAL_NAMESPACE) when a call omits one.
serverInfo.version reports the real package version.
Changes
- Answer orphaned tool calls whose upstream response never arrives with a retryable error instead of hanging indefinitely. The bridge now tracks in-flight request start times and sweeps expired calls through a per-request deadline (
MEMWAL_MCP_CALL_TIMEOUT_MS, default 240s), reuses the existing late-reply drop so an expired call cannot get a second response, and enriches reconnect logs with pending request IDs and methods. - Inject the configured default namespace (
--namespace/MEMWAL_NAMESPACE) intomemwal_remember_bulkcalls that omit one, so bulk facts land in the project namespace instead of the relayer fallbackdefault. - Send proactive-usage instructions in the MCP
initializehandshake, so the model knows when to save and recall without being asked. Clients moved to lazy tool loading, which keeps tool descriptions out of the model's context until a tool is explicitly loaded; the guidance lived only in those descriptions, so the model stopped using memory on its own and would offer its built-in memory or deny the tool existed.instructionstravels withinitialize, before anytools/list, so lazy loading cannot strip it.
Walrus Memory MCP v0.0.8
August 14, 2026 | GitHub
The Walrus Memory MCP server now includes human-readable titles for its tools during pre-login tool
discovery. Each tool also carries explicit readOnlyHint and destructiveHint metadata at that
stage. This metadata matches what the remote relayer provides to Claude connectors, so clients that
inspect tools before login get the same titles and hints as they would from the relayer.
Walrus Memory MCP v0.0.7
August 14, 2026 | GitHub
This release contains three fixes. After you log in through the browser, the MCP server now reloads your credentials, so you no longer need to restart the MCP client.
Handshake handling is stricter. The server rejects stale handshakes and prevents requests from being replayed across account changes.
Restores now report when results are truncated, and the server enforces the relayer's bounded restore limit.
Walrus Memory MCP v0.0.6
July 31, 2026 | GitHub
This release tightens the delegate-key login flow. Before it accepts a login callback, the MCP server now requires a localhost preflight handshake that proves the exact state, public key, and relayer. The server also takes the canonical login label from the verified local flow and no longer trusts the label that the browser callback supplies.
MCP SSE POST messages and replayed requests now authenticate with the delegate credentials.
Package v0.0.5
June 12, 2026 | GitHub
Adds the automatic memory plugin for Claude Code, Codex, Cursor, and Antigravity, along with new
memwal_remember_bulk and memwal_health tools and proactive memory behavior. Also fixes the
plugin bundle so it ships .mcp.json correctly.
Package v0.0.4
June 5, 2026 | GitHub
Fixes HTTPS dashboard sign-in callbacks and credential reload after login so tools work without restarting the MCP client.
Package v0.0.3
June 4, 2026 | GitHub
Rebrands package metadata from MemWal to Walrus Memory throughout the MCP server.
Package v0.0.2
May 25, 2026 | GitHub
Adds relayer compatibility checks and rebrands from MemWal to Walrus Memory across the MCP server package.
Package v0.0.1
May 15, 2026 | GitHub
Initial release of the MCP server with stdio transport, browser wallet login, and inline session tools. Includes memory tools for remember, recall, analyze, and restore.
Walrus Memory TypeScript SDK v0.1.10
October 26, 2026 | GitHub
This release tightens input and response validation in the Walrus Memory SDK. recallManual on
MemWal and MemWalManual rejects NaN or Infinity in scoringWeights before signing, matching
recall. Previously, JSON.stringify sent these values to the relayer as null. remember,
rememberBulk, analyze, embed, and recall also reject text containing only whitespace and
zero-width characters. Previously, these calls waited until the client timed out. MemWalMock
rejects the same input.
When a 2xx response has the wrong JSON shape, the SDK raises an error naming the endpoint and the
missing array instead of a raw TypeError. The SDK does not retry these bulk status errors. A null
or non-object status body makes getRememberStatus return not_found and waitForRememberJob
throw MemWalRememberJobNotFoundError.
Walrus Memory TypeScript SDK v0.1.9
October 21, 2026 | GitHub
createAccount, addDelegateKey, removeDelegateKey, and MemWalManual work again without a
suiClient. The default is now SuiGrpcClient against the public fullnode for suiNetwork.
rememberBulk and rememberBulkAsync send a derived idempotency key, so a retry within 30 minutes
returns the same jobs. listMemories() pages stored memories as metadata without a similarity
query.
Remember-job waits back off toward a 5s cap. On timeout they raise MemWalRememberJobTimeout with
lastStatus and serverError, and they raise MemWalRateLimited when status reads stay
rate-limited. Many methods reject invalid input before signing, including bad limit,
maxDistance, job ids, and blank text. Package subpaths now resolve in Next.js, Turbopack, and Node
require(esm), and /manual no longer imports @mysten/walrus.
Changes
rememberBulkandrememberBulkAsyncsend an idempotency key derived from the batch (a 30-minute bucket plus each item's namespace and text). A retry inside that window returns the same jobs instead of storing the batch again. An explicitidempotencyKeystill wins.withMemWaldoes not recall or auto-save on a tool-execution step. A later tool step reuses the recall cached for that user message. Auto-save still runs only on a user turn.flush()raises when a background auto-save failed, andonSaveErrorruns. The chat turn itself still does not fail.waitForRememberJobandwaitForRememberJobsdo not sleep past the deadline. If the budget runs out during the sleep, they make one more status read.remember,rememberAsync, andrememberAndWaitreject a non-string text argument withTypeErrorbefore signing. An object used to be sent astextand the relayer answered 422.MemWalMock.rememberBulkAsyncrejects an empty or non-array batch with the same error asMemWal.MemWalMockhonorsidempotencyKey. A retry of the same text and namespace returns the original job, a different payload throws, andforget/clearrelease the key so the text can be written again.MemWalMock.recall({ sort: "recent" })orders a bounded semantic window (5×limit, at leastlimit, at most 50) by write time before truncating. Relevance order is unchanged.- Positional
recall(query, options, namespace)uses that namespace whenoptions.namespaceis omitted, on bothMemWalandMemWalMock. An explicitoptions.namespacestill wins. remember(text, { idempotencyKey })andrememberAndWait(text, { timeoutMs }, { idempotencyKey })treat a plain object in the namespace slot as options. A third options argument is merged, and its fields win. That call used to send the object as the namespace, or drop the third argument and mint a second blob. An explicit string namespace still wins.getRememberStatus("")returnsnot_foundwithout a request, andwaitForRememberJob("")fails immediately with status 404.GET /api/remember/is not a route; the empty 404 body used to throwSyntaxError, and the wait treated that as transient until timeout.rememberBulkAsyncrejects more than 20 items before signing, matching the relayer'sMAX_BULK_ITEMS.- Remember-job status reads (
getRememberStatus,waitForRememberJob,getRememberBulkStatus) no longer attachx-seal-session. Status is metadata and does not decrypt. - Bulk status includes each job's
namespace.waitForRememberJobs(jobIds)uses that value when the caller did not pass one, instead of the client default. A caller-supplied namespace still wins. getPublicKeyHex()and any request afterdestroy()throw, including a read already in flight.getPublicKeyHex()used to resolve to the zeroed key, or to the well-known key of the wiped seed, andremember()still sentGET /versionbefore noticing the client was destroyed.normalizeServerUrlno longer warns about plaintext HTTP for IPv6 loopback.URL.hostnamekeeps the brackets on[::1], so the::1exemption never matchedhttp://[::1]:8000.remember,rememberBulk,analyze, andembedreject whitespace-only text immediately, with the same messages the relayer returns. A blank body used to be accepted and then sit until the client timed out.- A 401
AUTH_REJECTEDnow says a wallet address is not a MemWal account ID. The relayer still returns one 401 for every credential failure, so the message names the mix-up instead of revealing which check failed.
Walrus Memory TypeScript SDK v0.1.8
September 22, 2026 | GitHub
All relayer requests now carry a deadline, so one stalled request no longer runs past timeoutMs.
Requests default to 30 seconds, and you can change this with requestTimeoutMs on MemWal.create.
restore and analyze each use 60 seconds. An expired request raises MemWalRequestTimeout with
status: 504, which the existing poll handling retries.
Generated idempotency keys now derive from the namespace, the text, and a 30-minute bucket. A replay
from a new client therefore no longer creates a duplicate paid Walrus blob. Explicit
idempotencyKey values are unaffected. recall() also sends deadline_ms. Relayers that read it
return a 504 with serverCode RECALL_TIMEOUT that names the stuck step.
Walrus Memory TypeScript SDK v0.1.7
September 15, 2026 | GitHub
restore() results now include a failed count for permanent decrypt or UTF-8 failures. These were
previously folded into skipped or dropped silently. The field is required, like truncated, and
the SDK defaults it to 0 when omitted.
Request body hashing now uses @noble/hashes instead of WebCrypto with a node:crypto fallback.
Browser apps built with Vite no longer crash on the first remember or recall. The package now
declares engines.node >= 20.0.0. Empty-body 401 responses return the AUTH_REJECTED troubleshooting
message instead of suggesting memwal_login. Transactions in account.ts and manual.ts now use
typed tx.pure helpers that work with modern @mysten/sui.
Walrus Memory TypeScript SDK v0.1.6
September 9, 2026 | GitHub
recall() results include an optional created_at field with the RFC3339 write-time of the stored
fact. RecallOptions accepts sort: "relevance" | "recent" and scoringWeights. With sort: "recent", the SDK over-fetches semantic candidates (5x limit, capped at 50), orders them by
write-time descending, and then truncates the results to limit.
The SDK now reports an HTTP 503 with x-auth-error: AUTH_UPSTREAM_UNAVAILABLE as a retryable
credential-verification outage instead of a sign-in failure. Other 503 responses keep the generic
sanitized body, and empty-body 401 responses still point you to memwal_login.
Walrus Memory TypeScript SDK v0.1.5
August 26, 2026 | GitHub
rememberManual now sends encryptedData, a base64 SEAL ciphertext, instead of a pre-uploaded
blobId, matching POST /api/remember/manual. recall() results include dropped_count when the
relayer omits matches that fail to download or decrypt. health() surfaces an optional
write_ready field when the relayer reports write-path sidecar liveness.
Manual recall now decodes SEAL object IDs with hexToBytes. This removes the risk of coercing NaN
to 0 or throwing on empty input. HTTP error messages and remember-job error strings no longer
expose localhost or 127.0.0.1 URLs to callers.
Walrus Memory TypeScript SDK v0.1.4
August 24, 2026 | GitHub
This release improves the error message for empty-body 401 responses. If you are calling through MCP
for the first time and receive an empty-body 401, the SDK now tells you to run memwal_login.
Previously it showed <no message>, which gave no indication of what to do next.
Credential 401s keep their existing behavior and still point you to the AUTH_REJECTED troubleshooting guide.
Walrus Memory TypeScript SDK v0.1.3
August 20, 2026 | GitHub
The SDK now estimates tokens on the client side and supports token budgets for recall. When recalled content exceeds a budget, you can choose how the SDK truncates it by setting one of the configurable truncation strategies.
This release also changes the default SDK relayer URL to https://relayer.memory.walrus.xyz. If
your application relies on the default relayer rather than setting one explicitly, it uses the new
URL after you upgrade.
Walrus Memory TypeScript SDK v0.1.2
August 14, 2026 | GitHub
This release adds deterministic offline mock clients, so you can run tests without credentials. It also adds idempotency keys, which collapse retries onto a single paid remember job.
Fixes isolate foreign manual-recall blobs and safely encode large encrypted payloads. The SDK now supports both Zod 3 and Zod 4 as peer dependencies.
Walrus Memory TypeScript SDK v0.1.1
August 7, 2026 | GitHub
This release adds flush(), which you can call to handle pending auto-saves from withMemWal.
Restore results now include a truncated field that indicates when a recovery is incomplete, so
your code can detect partial restores.
AUTH_REJECTED errors now link to troubleshooting guidance, giving you a direct path to resolving
authentication rejections.
Walrus Memory TypeScript SDK v0.1.0
July 31, 2026 | GitHub
Recalled AI memory now arrives as nonce-delimited, explicitly untrusted data instead of content injected directly into the system role.
This release adds sponsor authorization helpers for sponsored transaction flows. It also adds migration-aware account and manual configuration, including registry support and support for current Sui transaction results. Account transaction result handling and failure diagnostics improve across both legacy and current Sui response shapes.
Package v0.0.7
June 2, 2026 | GitHub
Adds an optional occurredAt parameter to analyze() for temporal anchoring of extracted facts.
Relative date references are now resolved into absolute dates.
Changes
- Add optional
occurredAttoanalyze()andanalyzeAndWait()for temporal anchoring of extracted facts.
Package v0.0.6
May 28, 2026 | GitHub
Adds RecallParams for object-style recall calls and deprecates the positional recall overload.
Also documents restore() response fields.
Package v0.0.5
May 25, 2026 | GitHub
Adds relayer compatibility checks, RecallOptions for topK/namespace/maxDistance filtering,
and prefers Sui gRPC for SEAL sessions. This release also rebrands from MemWal to Walrus Memory.
Package v0.0.4
May 15, 2026 | GitHub
Adds getRememberStatus for polling async job state and SealServerConfig for manual SEAL
configuration. Manual mode validates API key pairs.
Package v0.0.3
May 8, 2026 | GitHub
Updates remember() for the async relayer flow and introduces rememberAsync,
waitForRememberJob, rememberAndWait, and bulk remember helpers. Also adds async analysis with
analyzeAndWait.
Package v0.0.2
April 30, 2026 | GitHub
Adds per-request nonce signing to block replay attacks and replaces delegate key transport with ephemeral SEAL sessions. SDK versions that do not include a nonce are rejected with HTTP 426.
Walrus Memory Python SDK v0.2.1
October 26, 2026 | GitHub
A maintenance release with no user-facing changes documented in the release notes; see the full commit log for internal updates.
Walrus Memory Python SDK v0.2.0
October 23, 2026 | GitHub
A maintenance release with no user-facing changes documented in the release notes; see the full commit log for internal updates.
Walrus Memory Python SDK v0.1.12
October 21, 2026 | GitHub
A maintenance release with no user-facing changes documented in the release notes; see the full commit log for internal updates.
Walrus Memory Python SDK v0.1.11
September 22, 2026 | GitHub
A maintenance release with no user-facing changes documented in the release notes; see the full commit log for internal updates.
Walrus Memory Python SDK v0.1.10
September 15, 2026 | GitHub
A maintenance release with no user-facing changes documented in the release notes; see the full commit log for internal updates.
Walrus Memory Python SDK v0.1.9
September 9, 2026 | GitHub
A maintenance release with no user-facing changes documented in the release notes; see the full commit log for internal updates.
Walrus Memory Python SDK v0.1.8
August 26, 2026 | GitHub
A maintenance release with no user-facing changes documented in the release notes; see the full commit log for internal updates.
Walrus Memory Python SDK v0.1.7
August 14, 2026 | GitHub
A maintenance release with no user-facing changes documented in the release notes; see the full commit log for internal updates.
Walrus Memory Python SDK v0.1.6
August 7, 2026 | GitHub
A maintenance release with no user-facing changes documented in the release notes; see the full commit log for internal updates.
Walrus Memory Python SDK v0.1.5
July 31, 2026 | GitHub
A maintenance release with no user-facing changes documented in the release notes; see the full commit log for internal updates.
Package v0.1.4
June 2, 2026 | GitHub
A patch release for the Walrus Memory Python SDK.
Package v0.1.3
May 28, 2026 | GitHub
A patch release for the Walrus Memory Python SDK.
Package v0.1.2
May 25, 2026 | GitHub
A patch release for the Walrus Memory Python SDK.
Package v0.1.0
May 21, 2026 | GitHub
Initial release of the Walrus Memory Python SDK.
Walrus Memory OpenClaw v0.0.7
October 2, 2026 | GitHub
memory_search and memory_store now operate only within the calling agent's namespace. If you
omit the namespace, the tools use that agent's namespace rather than the main namespace. A namespace
that the model supplies is rejected unless it matches the agent's namespace or its legacy namespace.
Configuration interpolation of ${ENV_VAR} now applies only to privateKey. All other fields,
including serverUrl, are read literally, so a secret cannot end up in serverUrl.
Walrus Memory OpenClaw v0.0.6
August 20, 2026 | GitHub
openclaw plugins install now succeeds, and the plugin declares contracts.tools, so
memory_search and memory_store register. Config validation happens at register time with
per-field errors and leaves the gateway running. Every relayer call now has a deadline, set with
requestTimeoutMs (default 10000, range 1000 to 60000). A hung relayer no longer blocks the agent
turn.
The prompt-injection filter no longer silently drops ordinary statements such as "I run the deploy
command every Friday." The docs now cover hooks.allowConversationAccess, which auto-capture
requires. They also correct the config key: both plugins.slots.memory and the plugins.entries
key use memory-memwal.
Package v0.0.5
June 15, 2026 | GitHub
Fixes a workspace dependency that broke npm installs outside the monorepo and switches the release workflow to pnpm publish.
Package v0.0.4
June 2, 2026 | GitHub
Adds temporal anchoring through occurredAt to the memory_store tool. The auto-capture hook now
passes the current timestamp, and the SDK is bumped for the new AnalyzeOptions.
Changes
Package v0.0.3
May 25, 2026 | GitHub
Rebrands from MemWal to Walrus Memory across the OpenClaw memory plugin.
Package v0.0.2
April 30, 2026 | GitHub
Initial release of the OpenClaw memory plugin with automatic recall and capture hooks, session summary, CLI commands, and LLM tools.