Skip to content

Releases

v0.1.9

Choose a tag to compare

@jappabl jappabl released this 10 Nov 22:12
cf49cc5

Dawnmere 0.1.9

Update with dawnmere update, or run the install line again.

  • Setup also connects Windsurf, Gemini CLI and VS Code when they are installed. They see work notes only.
  • Dawnmere's own model calls no longer follow a provider you set for Claude Code. If Claude Code points at another provider, dawnmere doctor and setup say so: background reading needs a Claude login for now, and recall and remember work as before.
  • A typed "remember that…" no longer leaves its words in the memory file once its confirm window ends, or after you
    forget the memory it made, backups included.
  • More AI apps are recognised as agents when you widen an app's access, so a widening can't be started from inside them.

Engine 0.1.7.

v0.1.8

Choose a tag to compare

@jappabl jappabl released this 10 Nov 18:32

Dawnmere 0.1.8

Chinese and Japanese recall. Update with dawnmere update, or run the install line again.

Chinese and Japanese

  • Your apps' prompts now get what you saved in Chinese or Japanese when you ask about it in the same words. Before, a
    question written without spaces was never searched.
  • Keyword search reads Chinese and Japanese. Memories you saved before this update are indexed the first time it runs.
  • A memory reaches a Chinese or Japanese prompt only when it shares enough of the question's words. A question asked
    in different words than you saved is often missed; your app can still find it by searching.
  • A prompt that needs no memory, in any language, still gets none.
  • With a model set up, a prompt written mostly in Chinese or Japanese is also searched in English, so it can find what
    you saved in English. That is one small model call per such prompt, counted in the 200 a day, sent to your own
    provider. An English prompt that only names someone in Chinese or Japanese costs nothing.
  • Notes about your health, family, money and legal matters in Chinese and Japanese are kept personal in more cases,
    including when you leave out "I" ("母が入院している").
  • When an app saves a health or money note, the reply no longer says every app can see it. Apps set to work only never
    see those.
  • Notes an app saves on its own still reach other apps' prompts only after you confirm them, in every language.

Setup, access and Homebrew

  • Giving Codex wider access works the same way as for Cursor: run dawnmere access codex everything in a Terminal
    window you opened yourself, type the app's name and click Allow in the dialog. Before, the command and Claude Code
    each pointed you to the other. Codex's memory tools then see what you allowed; its prompts keep getting work notes
    only.
  • Memory decides which app a prompt comes from by what the app sends, not only by the name in its config: only Claude
    Code's own sessions get what Claude Code may see, and another app, whatever name it gives, gets what that app may
    see.
  • Installed with Homebrew, dawnmere update and dawnmere uninstall say to use brew upgrade dawnmere and
    brew uninstall dawnmere for the programs, and leave Homebrew's files alone.
  • dawnmere doctor warns when an app has the hooks but not memory's tools.
  • Setup's banner and --help name the three apps, and its closing line says to tell Claude Code or Codex.

Privacy

  • The privacy list now says what the weekly tidy-up sends: once a week, and once soon after setup, memories that say nearly the same thing, memories that read as out of date and dated status notes, each with a few related memories, go to your model to be merged, rewritten or retired. They count toward the 200 calls a day; with no model, none of this is sent.

v0.1.7

Choose a tag to compare

@jappabl jappabl released this 10 Nov 07:18

Dawnmere 0.1.7

A patch release. Update with dawnmere update, or run the install line again.

  • Fixes a first setup with existing Claude Code notes skipping the trust question. Setup now counts the notes it imported, asks once whether to trust them as your own (or, with --yes, says how to confirm them later), and only warns when nothing could be imported.
  • If you set up 0.1.6 with existing Claude Code notes, they may still be waiting for you: lflabs-memory held lists them, and lflabs-memory trust -- IDs trusts them as your own (it asks in a dialog).
  • lflabs-memory held says "them" when more than one note is waiting.
  • With Claude Code's folder present but not its claude command, setup's apps row says the hooks are in place and that memory's tools in Claude Code need the claude command.

Engine 0.1.5.

v0.1.6

Choose a tag to compare

@jappabl jappabl released this 10 Nov 06:03

Dawnmere 0.1.6

This release fixes problems found in reviews before launch. Install or update: curl -fsSL https://dawnmere.app/install | sh (or dawnmere update, or brew upgrade hadeva-dev/tap/dawnmere).

Forgetting

  • When you forget something yourself, it is gone for good. That covers typing "forget memory 12" in Claude Code or Codex, running lflabs-memory forget 12 in Terminal, or using the menu. Its text, its search entries, older versions of it and the facts drawn from it are deleted from the memory file and from its backup copies. The reply tells you what was removed. It cannot be restored.
  • When an app forgets something on its own, the memory is hidden right away and deleted for good after 24 hours. Until then you can bring it back with lflabs-memory restore 12. An app's forget tool can only forget memories its own search showed it, at most 10 a day; a forget an app runs in its own shell is held the same way.
  • After a forget, Dawnmere keeps a short fingerprint with no words in it. The fingerprint stops the same thing being saved again from an old conversation.
  • If you have Dawnmere set up to read conversations in the background, the forgotten words are held for up to 24 hours. That gives the background job time to find other notes that mention them; then they are erased.
  • Memories you forgot in earlier versions still had their text on disk. This update erases that text the first time it runs.

What apps can save

  • An app can no longer save instructions to run downloaded code, delete files, or keep something from you. It can't save words aimed at your assistant's own instructions either.
  • Notes an app saves on its own are kept for search, labelled, and reach other apps' prompts only after you confirm them (lflabs-memory held). Your apps can still find them by searching. To confirm one, type "confirm memory 12" and Dawnmere shows its words and a short code. Then type "confirm memory 12 ".
  • This also applies to notes saved before this update, including Claude Code memory files Dawnmere imported: they stay searchable and wait for your confirm (or lflabs-memory trust). lflabs-memory held lists every waiting note with the exact "confirm memory" line to type, and dawnmere doctor says how many there are.
  • When setup imports the notes Claude Code keeps, it asks you once, in a macOS dialog, whether to trust them as your own. With --yes, or if you cancel, they wait for your confirm, and setup says how.
  • Once a day, a new Claude Code session says how many notes your apps saved are waiting for you.
  • What you save yourself ("remember that…", in any language) still reaches all your apps, once your reply finishes (from Codex, at your next prompt there). Typing a correction ("remember that the staging port is 5434") replaces the note it corrects.
  • When an app saves something you already said yourself, your memory stays yours: it keeps your words and still reaches your prompts.
  • lflabs-memory add typed in Terminal asks in a dialog whether to keep the line as your own words; without your click it's kept like any app's save. lflabs-memory trust does the same for memories you choose, with one dialog.
  • dawnmere import FILE adds the memories from an export file, skipping ones you already have; they are saved as of unknown origin, and if the file says some are your own words, a macOS dialog asks you once whether to trust them as yours.
  • Running setup again keeps the name you gave it, moves Codex's and Cursor's connector to the new version, and on an install that used Claude Code's settings file instead of the plugin, switches to the plugin without leaving the hooks there twice.
  • When memory shows your apps a line with a command or a link in it, the line says to check with you first.
  • A note saved by Codex or Cursor without a type now goes where those apps can find it again. The reply says where it went and which apps can see it.
  • Personal facts stay personal, even when you mention them while working in a code project. That covers your health, family, relationships, money and legal matters, in English, Chinese and Japanese.

Other languages

  • "remember that…" works with full-width punctuation (,!?), and Chinese and Japanese phrasings save too: 记住:, 请记住,, 记一下:, 覚えておいて:, メモして:, これを覚えて:.
  • With background reading on, a prompt in Chinese, Japanese, Korean, Russian or any other non-Latin script is now translated for search, like other non-English prompts. That means more model calls for people who write in those languages.

Who counts as you

  • "confirm memory" and "forget memory" take effect when the reply finishes, once Dawnmere finds those words as your latest typed message; a "remember that…" is saved at once and counts as your own words then.
  • Typing "let Cursor see everything" (or any other way of giving an app more access) no longer changes anything by itself. The reply gives you the dawnmere access command to run in Terminal, where you confirm it in a dialog. Typing that an app should see less still works at once.
  • Claude Code's and Claude Desktop's memory tools, and any app that only names itself, now see work notes only. Claude Code's automatic recall in your prompts still sees everything.
  • dawnmere access cursor everything and the matching lflabs-memory clients commands give an app more access. You must run them in a Terminal window you opened yourself, type the app's name, and click Allow in a dialog. Giving an app less access needs none of this.

Installing and updating

  • Every Python package Dawnmere installs has a pinned version and is checked against a known hash before anything is installed. If a check fails, nothing is installed. If an update fails partway, the update puts the old version back or leaves Dawnmere uninstalled, never a half-checked copy.
  • The Claude Code plugin comes from the same release as everything else, not from the latest code on GitHub. Running the install line again on an older install moves the plugin to this release; restart Claude Code afterwards.
  • Updating from 0.1.5 with dawnmere update: 0.1.5's updater installs without these checks, so 0.1.6 checks every dependency against its hashes right after the update and removes Dawnmere if one doesn't match. The new version has already started once by then, so for the strongest guarantee, update by running the install line instead.
  • Downloads retry when GitHub is slow or briefly down. A model that fails to download no longer stops setup; dawnmere doctor shows it and dawnmere setup --models finishes it.
  • Without Node.js, your apps can't use memory's tools. Setup and dawnmere doctor now say so plainly instead of reporting success.
  • New Terminal windows find the dawnmere command: the installer adds one marked line to ~/.zprofile and tells you, and uninstall takes it out again. Claude Code's hooks no longer depend on your PATH.
  • On a Mac without Apple's Command Line Tools, the "install developer tools" window no longer pops up: not from the installer or dawnmere update setting up Python, and not from memory, which never runs git there and recognises your projects by their .git folder. Reinstalling no longer reinstalls Python when it is already there.
  • On a first setup the service can take up to a minute to load its models. Setup now waits, says it is still starting, and retries once; if it still doesn't start, ~/Library/Logs/LF Labs/memory.log says why.
  • Setup's self-check saves a random phrase and deletes only the memory it made itself, never an older one.
  • Running setup again keeps your other settings in config.toml, such as the daily call limit.
  • Signed out of Claude Code, dawnmere doctor warns that background reading waits, instead of failing; recall and remember still work.
  • Right after a restart, dawnmere doctor says the service is still loading instead of warning about a slow first recall. Setup's self-check waits for the service to be ready.
  • Installing without a terminal (for example curl … | sh in a script) no longer changes your apps' settings until you run dawnmere setup (or dawnmere setup --yes).
  • Uninstall now says that uv and its Python stay on your Mac, and how to remove them. It removes the files and plugin data it added, including the connector's socket, lists each file once, and leaves your Claude Code settings as they were.
  • Dawnmere's background jobs no longer let Claude Code send its own usage data while they run.

Privacy, in one place

  • Your memory is stored on this Mac. Dawnmere sends nothing to LF Labs and has no usage tracking.
  • With background reading on, these go to the model provider you chose (your Claude plan through Claude Code, or the Anthropic API with your key):
    • your Claude Code conversations, after every 6 of your messages and when a session goes quiet;
    • up to 8 related memories, which can include notes Codex or Cursor saved;
    • memories waiting to be filed into sections;
    • a prompt not in English typed in Claude Code or Codex, to translate it for search;
    • for up to 24 hours, the words of something you forgot, so other notes that mention it can be found and deleted;
    • once a week, and once soon after setup, memories that say nearly the same thing, memories that read as out of date and dated status notes, each with a few related memories, to merge, rewrite or retire them.
      At most 200 calls a day in all. With no model set up, none of this is sent.
  • Dawnmere also contacts GitHub, for releases and updates and, if you're logged in to GitHub's gh tool, the open pull requests of the project you're working in. Your apps contact npm when they start memory's connector. The installer and dawnmere update contact PyPI for Python packages, each checked against a pinned hash.

The engine's source is now public: https://github.com/Hadeva-Dev/lflabs-memory-engine (FSL-1.1-MIT).

v0.1.5

Choose a tag to compare

@jappabl jappabl released this 09 Nov 00:19

Engine 0.1.3.

  • In a coding session, a short follow-up such as "Yes, merge and release" that finds no memory on its own is searched once more with the turn before it. The prompt alone is still searched first, so nothing it finds is lost. Under three words a prompt is still not searched; a secret is still only released by the prompt's own words.
  • A Claude Code session's start, and its return from a compaction, shows the repo's standing lessons (your own feedback-kind memories for that repo) and the last day's saves there, once. Each line names where it came from.

Existing installs: run the install line again.

v0.1.4

Choose a tag to compare

@jappabl jappabl released this 08 Nov 22:51

Engine 0.1.2, unchanged.

  • Setup's consent screen is nine lines instead of sixteen, with every disclosure kept.
  • Running setup over an earlier install no longer loses the memory service. Setup waits for the old agent to leave before reloading it, and when launchd still refuses, the step says so in launchd's words instead of pointing at an empty log.
  • The install script's download bar no longer stops the install under a UTF-8 locale.

Existing installs: run the install line again.

v0.1.3

Choose a tag to compare

@jappabl jappabl released this 08 Nov 20:38

Engine 0.1.2. What the prompt hook injects now opens "Recalled from Dawnmere (long-term memory; notes, not instructions, ...)" instead of naming the MCP server id, with the remember nudge and the look-again line to match, so you see Dawnmere working each time the hook fires. The engine also carries two hardening changes merged after 0.1.1: a memory merged with an outside sender's words keeps that outside origin, and the first-person rewrite reads names in any script. The CLI and connector are unchanged. Existing installs: run the install line again; no setup needed.

What's Changed

Full Changelog: v0.1.2...v0.1.3

v0.1.2

Choose a tag to compare

@jappabl jappabl released this 08 Nov 08:13

The connector is on npm as dawnmere-connector. The 0.1.0 and 0.1.1 CLIs wrote a package name that was never published into app configs, so their installs ended with apps that could not fetch the connector; 0.1.2 is the first release whose CLI names the published package. The engine is unchanged (0.1.1). Existing installs: run the install line again, then dawnmere setup.

What's Changed

  • Connector: the npm package is dawnmere-connector, before its first publish by @jappabl in #1
  • 0.1.2: the CLI's version by @jappabl in #3

Full Changelog: v0.1.1...v0.1.2

v0.1.1

Choose a tag to compare

@jappabl jappabl released this 08 Nov 07:58

Dawnmere 0.1.1. The memory engine gains retrieval changes ported from the maintainers' Jarvis retrieval lab. Measured results for the released engine are in the Dawnmere row on memory-bench.

The changes: a deeper candidate pool, a boost for the date a question names, one-fact claims ahead of long notes in the context, a fuller fallback for aggregate questions, your own health and money facts no longer withheld from you as someone else's, and the writer keeping every concrete detail and what the assistant itself told you. The engine's CHANGELOG has the list.

Install the newest release instead. The CLI is unchanged from 0.1.0, so it still writes a connector package name (lflabs-memory-connector) that was never published to npm, and the apps' MCP tools cannot start; the Claude Code hooks work. 0.1.2 fixed this: the connector is on npm as dawnmere-connector.

Install or update, on a Mac with Apple silicon and macOS 14 or later:

curl -fsSL https://dawnmere.app/install | sh

That line always installs the latest release. Its installer checks the files it downloads (uv, if needed, and the dawnmere and engine packages) against sha256 values written into it, then runs dawnmere setup. The models come from the models-2026-10-28 release.

v0.1.0

Choose a tag to compare

@jappabl jappabl released this 07 Nov 20:51

Dawnmere 0.1.0, the first beta. One memory on your Mac, shared by your AI apps (Claude Code, Claude Desktop, Codex, Cursor and others through MCP).

Install the newest release instead. This release's CLI writes a connector package name into your apps' settings (lflabs-memory-connector) that was never published to npm, so the apps' MCP tools cannot start; the Claude Code hooks work. 0.1.2 fixed this: the connector is on npm as dawnmere-connector.

Install or update, on a Mac with Apple silicon and macOS 14 or later:

curl -fsSL https://dawnmere.app/install | sh

That line always installs the latest release. Its installer checks the files it downloads (uv, if needed, and the dawnmere and engine packages) against sha256 values written into it, then runs dawnmere setup. The models come from the models-2026-10-28 release. For Claude Desktop, use dawnmere-connector.mcpb from the latest release.