Repository navigation
Memora 1.3.4
Every MCP tool was tested against bad, missing, hidden and extreme input. This
release fixes what that found. Some calls that used to be accepted, and did
something other than what was asked, are now refused with a clear message.
Added
- Agent instructions come in five styles: Balanced (recommended), Remember
everything, Private, Session journal and Read only, each in a full and a
short version, on the docs page, in the connect guide and in the console.
Remember everything warns that secrets end up as plain Markdown and how to
hide them with privacy rules. Where to paste covers more clients. - The live panel in the header opens an agent's page; in Activity, an agent's
name on any row, the event drawer and an agent's activity page do too. list_trash(MCP): the notes in the trash, with where they came from.- Version history can be turned on with a plain
git initin the vault;
docs/CONFIGURATION.mdexplains how.
Changed
tools/callchecks arguments against the tool's schema: unknown names,
missing required arguments, wrong types, values outside an enum and numbers
below the minimum are refused. Every tool error starts with the tool name.- Search no longer keeps a
.fts.dbindex. Search and the graph, query and
digest tools read one in-memory cache that follows the files on disk, so
results are right at startup and include notes changed outside Memora.
Old.fts.dbfiles are removed. bulk_deletemoves notes to the trash, and refuses the whole call when any
path is wrong.restore_trashputs a note back where it was.- Moving or renaming a note or folder rewrites the wikilinks that pointed to
it, in MCP and in the web UI; results reportlinks_updated. delete_foldermoves notes to the parent folder and keeps their subfolders.- Soft locks are enforced: an agent cannot write to a note another agent has
locked, and only the holder (or the owner) can release a lock. - Tags may contain letters, digits and
- _ / .; tag tools ignore case.
Frontmatter fields refuse line breaks. follow_upsreturns{notes, count, truncated}and takeslimit; it also
countswaitingandblocked.digestreports all events and takeslimit.- Export and import use an exchange folder inside the state folder (0700),
not a folder shared by every instance in/tmp. template_createonly reads templates fromTemplates/.
Fixed
move_memorywithoutfoldermoved the note to the top level, and
create_memorywith an unknown argument created the note somewhere else.bulk_replacewith an emptyfindinserted text between every character.- Tags or fields with line breaks or YAML characters could break a note's
frontmatter;mention_agentcould add fake mention lines. privacy_setwith an empty agent list removed the rule, exposing a hidden
folder; an agent could take another agent's display name or "owner".- An agent could release or create locks in another agent's name.
template_createcould read any note, including hidden ones.- Search snippets mixed highlight tags with raw note HTML.
get_subgraphreversed edges, dropped one side of two-way links and
returned one node too many; nested folders were ignored byquery_memory,
digest,bulk_replaceandbulk_delete;list_memoryshowed nested
notes under their top-level folder.merge_memoryskipped missing sources silently, merged a note into itself
and pasted frontmatter into the body;batch_createignored typos.create_folderacceptedRoot;move_folderinto a note created a folder.- History tools returned empty results when the vault has no git repository;
they now say version history is off.snapshotexplains its refusals. - Many tools returned an empty success for paths that do not exist; they now
say what is missing. - Parallel calls of one tool could close each other's rows in Activity.
batch_createdid not tell open browsers about the notes it created.
Install
curl -fsSL https://raw.githubusercontent.com/Codrihub/memora/v1.3.4/scripts/install.sh | sudo sh -s -- --version 1.3.4
docker pull ghcr.io/codrihub/memora:1.3.4
npm install -g @codrihub/memora@1.3.4Verify downloads with sha256sum -c SHA256SUMS --ignore-missing.